【问题标题】:Calling a Partial View and passing multiple ViewBag values as parameters调用局部视图并将多个 ViewBag 值作为参数传递
【发布时间】:2015-07-16 08:26:13
【问题描述】:

我有以下

public ActionResult Index()    
{
 ViewBag.Stage1="Module1";
 ViewBag.Stage2="Module2";
 ....
}

现在在 View 中我调用部分 View 并传递 ViewBag

@Html.Partial("MyMenu", new ViewDataDictionary(new { Stage1= ViewBag.Stage1, Stage2= ViewBag.Stage2}))

但在这里我收到错误“对象”不包含“阶段 1”的定义 我什至尝试使用类似

@Html.Partial("_LeftMenu", new {Level1=ViewData["Level1"],Level2=ViewData["Level2"] })

同样的事情在这里继续,事情是我需要传递两个值并根据 ViewBag 中的值呈现一些 Html。感谢任何帮助都非常感谢。如果我在某处错了,请纠正我。谢谢。

【问题讨论】:

  • 如果您调用@Html.Partial("MyMenu"),您应该能够访问局部视图中的视图包数据。但如果您还想传递模型,这可能行不通。
  • @elolos 除了提到的 ViewBag 之外,我没有通过任何模型。
  • 您是否尝试过在不通过 @Html 帮助程序的情况下访问局部视图中的 Viewbag?

标签: asp.net-mvc-4 viewbag


【解决方案1】:

只需用这个修改你的视图代码。

@Html.Partial("MyMenu", new ViewDataDictionary{{"Stage1", ViewBag.Stage1},{"Stage2", ViewBag.Stage2}})

【讨论】:

  • 我收到一条错误消息,提示无法对空引用执行运行时绑定。
  • 您能否将您的部分视图“MyMenu”代码分享为在我身边工作的相同代码。在我的“MyMenu”部分视图中,我只有这个代码 @{ Response.Write("hello " + ViewData["Stage1"]); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
  • 2012-10-09
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
相关资源
最近更新 更多