Asp.net mvc 4 调用局部视图并将多个ViewBag值作为参数传递

Asp.net mvc 4 调用局部视图并将多个ViewBag值作为参数传递,asp.net-mvc-4,viewbag,Asp.net Mvc 4,Viewbag,我有以下几点 public ActionResult Index() { ViewBag.Stage1="Module1"; ViewBag.Stage2="Module2"; .... } 现在在视图中,我调用局部视图并传递ViewBag @Html.Partial("MyMenu", new ViewDataDictionary(new { Stage1= ViewBag.Stage1, Stage2= ViewBag.Stage2})) 但这里我得到的错误是“object

我有以下几点

public ActionResult Index()    
{
 ViewBag.Stage1="Module1";
 ViewBag.Stage2="Module2";
 ....
}
现在在视图中,我调用局部视图并传递ViewBag

@Html.Partial("MyMenu", new ViewDataDictionary(new { Stage1= ViewBag.Stage1, Stage2= ViewBag.Stage2}))
但这里我得到的错误是“object”不包含“Stage1”的定义 我甚至试过用类似的东西

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

同样的事情在这里继续,我需要传递两个值,并根据ViewBag中的值呈现一些Html。非常感谢您的帮助。如果我在什么地方错了,请纠正我。谢谢。

用这个修改你的视图代码就行了

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

如果调用
@Html.partial(“MyMenu”)
,您应该能够访问部分视图中的viewbag数据。但是,如果您还想传递一个模型,这可能不起作用。@elolos我没有传递除上述ViewBag之外的任何模型。您是否尝试过在部分视图中访问ViewBag而不通过@Html helper?我收到一个错误,说无法对空引用执行运行时绑定。您可以共享您的部分视图吗“MyMenu”代码与在我身边工作的代码相同。在我的“MyMenu”部分视图中,我只有此代码@{Response.Write(“hello”+ViewData[“Stage1”]);}