c# - Asp net 在 View 文件中打印字典值

标签 c# asp.net-mvc

我正在尝试通过字典中的键打印一个值,但我不知道应该如何打印。 我给 Controller 写了这样的内容:

var a = new Dictionary<string, string>();
a["b"] = "s";

ViewData["a"] = a;

并在 View 文件中:

<h1><%= ((Dictionary<string, string>) ViewData["a"])["b"] %></h1>

或者也这样:

<h1>@a["b"]</h1>

在第一种情况下,我得到的字面意思是:“<%: ((Dictionary) ViewData["a"])["b"] %>"。第二个是 NullReferenceException。

我一直在尝试寻找解决方案,但一直以来我只能通过 foreach 循环找到解决方案。

感谢您的帮助!

最佳答案

为了避免在 View 文件中转换为字典,您可以使用ViewBag来访问相同的数据:

<h1>@ViewBag.a["b"]</h1>

或者,如果您想使用ViewData,您可以使用这样的代码:

<h1>@((ViewData["a"] as Dictionary<string,string>)["b"])</h1>

关于c# - Asp net 在 View 文件中打印字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593683/

相关文章:

c# - 重构别人源码的礼仪?

c# - 继承一个接口(interface),实现部分方法,让派生类实现其余部分

c# - Windows 服务循环 - 如何?

c# - User.Identity.Name 返回 guid

c# - 如何从STL文件中获取零件数量?

asp.net-mvc - 创建像 Web Telegram 这样的文本输入

c# - 更新应用程序后 ASP.NET MVC 停止工作 - MembershipUser 出现问题

asp.net-mvc - ASP.Net Core MVC 中的 data-ajax-begin 脚本阻止重定向

c# - 在 ActionFilterAttribute 中读取表单数据

c# - 如何防止根据条件执行 Controller 操作?