1

可能重复:
在局部视图中修改 MVC 3 ViewBag 不会持续到 _Layout.cshtml

我正在尝试从 PartialView 设置 pageTitle

这是我的代码:

部分视图模板:

@{
    ((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}

_Layout.cshtml:

<title> @ViewBag.Title</title>

这个怎么做?

4

1 回答 1

5

这不是部分人应该做的事情。修改父视图不是它的责任ViewBag。除此之外,这是不可能的。引用 MSDN

当一个局部视图被实例化时,它会获得它自己的 ViewDataDictionary 对象的副本,该副本可用于父视图。因此,部分视图可以访问父视图的数据。但是,如果局部视图更新数据,这些更新只会影响局部视图的 ViewData 对象。父视图的数据没有改变。

您始终可以执行此处显示的解决方法 ,但请不要这样做。部分不应该设置任何父状态。他们不应该对父母一无所知。

于 2012-07-16T20:51:30.563 回答