Asp.net mvc 3 从PartialView设置页面标题

Asp.net mvc 3 从PartialView设置页面标题,asp.net-mvc-3,razor,viewbag,Asp.net Mvc 3,Razor,Viewbag,可能重复: 我正试图从PartialView设置页面标题 这是我的密码: 部分视图模板: @{ ((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title"; } <title> @ViewBag.Title</title> \u Layout.cshtml: @{ ((WebViewPage)WebPageContext.Current.Page).ViewBag.T

可能重复:

我正试图从PartialView设置页面标题

这是我的密码:

部分视图模板:

@{
    ((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}
<title> @ViewBag.Title</title>
\u Layout.cshtml:

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

如何做到这一点?

这不是分部应该做的事情。它只是不负责修改父视图
ViewBag
。除此之外,这是不可能的

当局部视图被实例化时,它会得到它自己的 ViewDataDictionary对象,该对象可用于父视图。这个 因此,局部视图可以访问父视图的数据。 但是,如果局部视图更新了数据,这些更新将影响 仅局部视图的ViewData对象。父视图的数据不可用 变了


你可以做一些变通办法,但请不要这样做。Partials不应设置任何父状态。他们不应该知道关于父母的任何事情。

这不是一个分部应该做的事情。它只是不负责修改父视图
ViewBag
。除此之外,这是不可能的

当局部视图被实例化时,它会得到它自己的 ViewDataDictionary对象,该对象可用于父视图。这个 因此,局部视图可以访问父视图的数据。 但是,如果局部视图更新了数据,这些更新将影响 仅局部视图的ViewData对象。父视图的数据不可用 变了


你可以做一些变通办法,但请不要这样做。Partials不应设置任何父状态。他们不应该知道有关家长的任何信息。

我已经访问过了,但我正在寻找一个更“方便”的解决方案!!我已经访问过它,但我正在寻找一个更“方便”的解决方案!!达林,我知道这很古老,你显然是个专家。然而,“ViewBag”的目的不是成为“通用视图数据”的通用访问点吗?我理解“关注点分离”这一点,但我想不出在什么情况下,局部视图中的动态ViewBag需要不知道父视图中的动态ViewBag。如果它是强类型的,是的。我有一个向导,每个步骤都是部分的。我想根据我正在进行的步骤更改ViewBag标题,而无需重新加载整个页面,当我正在进行的步骤+部分更改时,我知道这已经过时了,而且你显然是个专家。然而,“ViewBag”的目的不是成为“通用视图数据”的通用访问点吗?我理解“关注点分离”这一点,但我想不出在什么情况下,局部视图中的动态ViewBag需要不知道父视图中的动态ViewBag。如果它是强类型的,是的。我有一个向导,每个步骤都是部分的。我想根据我正在执行的步骤更改ViewBag标题,而不必重新加载整个页面,当我正在执行的步骤+部分更改时