Asp-net在视图文件中打印Dictionary值
本文关键字:打印 Dictionary 文件 视图 Asp-net | 更新日期: 2023-09-27 18:21:08
我正试图从字典中按键打印一个值,但我不知道应该如何打印。我给控制器写了这样的信:
var a = new Dictionary<string, string>();
a["b"] = "s";
ViewData["a"] = a;
和在视图文件:
<h1><%= ((Dictionary<string, string>) ViewData["a"])["b"] %></h1>
或者同样如此:
<h1>@a["b"]</h1>
在第一种情况下,我得到的是:"<%:((Dictionary)ViewData["a"])["b"]%>"。第二个是NullReferenceException。
我一直在努力寻找解决方案,但一直以来,我只能通过foreach循环找到解决方案。
谢谢你的帮助!
为了避免在视图文件中转换为dictionary,您可以使用ViewBag
访问相同的数据:
<h1>@ViewBag.a["b"]</h1>
或者,如果你想使用ViewData
,你可以使用这样的代码:
<h1>@((ViewData["a"] as Dictionary<string,string>)["b"])</h1>