C# 如何在asp.net mvc中从PartialView更改页面标题

C# 如何在asp.net mvc中从PartialView更改页面标题,c#,asp.net-mvc,asp.net-mvc-2,C#,Asp.net Mvc,Asp.net Mvc 2,我想从局部视图更改页面标题。但下面显示了错误 使用页面的Title属性需要页面上的header控件。(例如)。 我的主页头版在这里 <head runat="server"> <title> <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> </title> </head> 我的默认页面在这里 <asp:Content ID

我想从局部视图更改页面标题。但下面显示了错误

使用页面的Title属性需要页面上的header控件。(例如)。

我的主页头版在这里

<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
</head>

我的默认页面在这里

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%=ViewData["pagetitle"] %>
</asp:Content>

ViewData[“pagetitle”]
返回当前页面标题,例如主页、关于、新闻列表、新闻详细信息。但是我想更改当前的新闻信息标题,而不是
新闻详细信息
字符串<代码>新闻详细信息页面包含部分视图。局部视图知道显示了哪些新闻


请提供帮助

因为标题是作为标题部分的一部分呈现的,所以局部视图无法直接设置页面标题

但是您的控制器(获取要显示的新闻项)将知道标题应该是什么,并且可以将“pagetitle”项添加到ViewData集合中,然后您可以直接在主布局中或在页面特定的内容区域中进行设置,就像上面所做的那样


提示:我建议创建一个名为ViewDataKeys的静态类,使用静态字符串属性(或公共常量字段)作为ViewData集合的索引器。这有助于在使用来自多个源的基于字符串的词典时避免重复、拼写错误和区分大小写的错误。

不确定文件的结构,但如果您有一个实体文件夹,您可以从中提取查看页面的信息,那么在aspx页面中,您可以执行以下操作:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%:projectName.Resources.Entities.FolderName.FileName%>
</asp:Content>

我同意@ebattulga-可以通过在控制器内呈现局部视图的操作更改ViewData[“pagetitle”]。