可能重复:
Modifying MVC 3 ViewBag in a partial view does not persist to the _Layout.cshtml
我正在尝试从PartialView
设置pageTitle这是我的代码:
PartialView模板:
@{
((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}
_Layout.cshtml:
<title> @ViewBag.Title</title>
怎么做?
答案 0 :(得分:5)
这不是部分应该做的事情。修改父视图ViewBag
不是它的责任。除此之外,这是不可能的。 Quote from MSDN:
当实例化部分视图时,它会获得自己的副本 父视图可用的ViewDataDictionary对象。该 因此,部分视图可以访问父视图的数据。 但是,如果部分视图更新数据,则会影响这些更新 只有部分视图的ViewData对象。父视图的数据不是 改变。
您可以随时执行变通办法 shown here,但请不要。部分不应该设置任何父状态。他们不应该对父母一无所知。