部分视图中的ViewData.value为空

时间:2014-04-13 13:03:05

标签: asp.net-mvc asp.net-mvc-4 razor viewbag

我的控制器中有

的index()动作
        ViewBag.somekey = "somevalue";
        MyModel m = new MyModel();
        return View(m);

和index.cshtml文件:

@Viewbag.somekey
@Html.Partial("_pv", model)

在index.cshtml中,@ ViewBag.somekey呈现“somevalue”,但在“_pv.cshtml”中,@ ViewBag.somekey为空。 “_pv.cshtml”是共享的部分视图。

有人能指出我在这里做什么,以及如何在局部视图中获得“somekey”的价值?

1 个答案:

答案 0 :(得分:0)

很简单,当你渲染局部视图时,具有局部视图的ActionResult方法必须具有ViewBag.somekey =“somevalue”的定义;然后它只能显示ViewBag的值

示例

如果要在其他ActionResult视图中呈现此部分视图,请假设

public ActionResult Index2()
{
ViewBag.somekey = "somevalue";
return View();
}

你必须再次定义这个ViewBag