从PartialView设置页面标题

Ana*_*nas 1 razor viewbag asp.net-mvc-3

可能重复:
在部分视图中修改MVC 3 ViewBag不会持久保存到_Layout.cshtml

我正在尝试从PartialView设置pageTitle

这是我的代码:

PartialView模板:

@{
    ((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}
Run Code Online (Sandbox Code Playgroud)

_Layout.cshtml:

<title> @ViewBag.Title</title>
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

Dar*_*rov 5

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

实例化部分视图时,它将获得自己的父视图可用的ViewDataDictionary对象副本.因此,部分视图可以访问父视图的数据.但是,如果部分视图更新数据,则这些更新仅影响部分视图的ViewData对象.父视图的数据不会更改.

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