繁体   English   中英

ASP.NET MVC-C#-定义键值对以在Razor视图中使用

[英]ASP.NET MVC - C# - Define Key Value Pair for use in Razor View

我有一个ASP.NET MVC应用程序。 我的应用程序需要显示表示用户在应用程序中位置的面包屑。 为了做到这一点,我希望在主版面页面中具有以下内容:

@foreach(var link in ViewBag["Links"])
{
  <div>|</div>
  <a href="@link.url">@link.text</a>
}

然后,在每个视图中,顶部都将显示以下内容:

@{
    Layout = "~/Views/Layouts/_Breadcrumbed.cshtml";
    ViewBag.Links = new Dictionary<string, string>()
    {
        { "Home", "/home" },
        { "Parent", "/parent" }
    };
}

执行此代码时,出现以下错误:

Cannot apply indexing with [] to an expression of type 'System.Dynamic.DynamicObject'

我不明白为什么要这么做。 我是否在沿着创建面包屑的正确路径做事? 如果没有,哪种方法更好?

您需要将ViewBag [“ Links”]强制转换为字典,以便foreach知道要迭代的内容。

@foreach(var link in (IDictionary<string, string>)ViewBag["Links"])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM