我正在使用MVC 3与Razor视图引擎。 我想在部分视图中的ViewBag中设置一些值,并希望在_Layout.cshtml中检索这些值。 例如,当你设置一个默认的ASP.NET MVC 3项目时,你会在“/ Views / Shared”文件夹中得到一个_Layout.cshtml文件。 在_Layout.cshtml页面标题是这样设置的: <title>@ViewBag.PageTitle</title> 然后在“/Views/Home/About.cshtml”查看ViewBag的内容被修改: @{ ViewBag.Title = "About Us"; } 这工作正常。 关于视图呈现时,页面标题是“关于我们”。 所以,现在我想在我的关于视图中呈现一个部分视图,我想修改我的部分视图中的ViewBag.Title。 ( “/Views/Shared/SomePartial.cshtml”) @Html.Partial("SomePartial") 在这个部分视图中,我有这样的代码: @{ ViewBag.Title = "About Us From The Partial View"; } 当我debugging这段代码,我看到ViewBag.Title设置为“关于我们”,然后在部分视图,我看到它重置为“关于我们从部分视图”,但是当代码命中_Layout.cshtml它去回到“关于我们”。 这是否意味着如果在部分视图中修改了ViewBag的内容,那么在主视图(About.cshtml)或_Layout.cshtml中不会显示(可访问)这些更改? 提前致谢!