我想从局部视图更改页面标题。但是下面显示的错误
Using the Title property of Page requires a header control on the page. (e.g. <head runat="server" />).
我的母版页标题部分在这里
<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"]返回当前页面标题,例如主页、关于、新闻列表、新闻详细信息。但是我想要更改当前的新闻信息标题,而不是News Detail字符串。News Detail页包含部分视图。部分视图知道显示哪些新闻。
请帮帮忙
发布于 2011-05-05 23:01:48
我不太确定你的文件是如何组织的,但是如果你有一个entities文件夹,你可以从其中为你的视图页面拉取信息,那么在aspx页面中,你可以这样做:
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
<%:projectName.Resources.Entities.FolderName.FileName%>
</asp:Content>发布于 2011-03-06 20:56:04
因为标题是作为head部分的一部分呈现的,所以对于局部视图来说,没有一种简单的方法来直接设置页面标题。
但是您的控制器(获取要显示的新闻项)将知道标题应该是什么,并且可以将"pagetitle“项添加到ViewData集合,然后可以直接在主布局中设置,也可以像上面那样在特定于页面的内容区域中进行设置。
提示:我建议使用静态字符串属性(或公共常量字段)创建一个名为ViewDataKeys的静态类,用作ViewData集合的索引器。这有助于避免在使用来自多个来源的基于字符串的字典时出现重复、拼写错误和区分大小写错误。
https://stackoverflow.com/questions/5210246
复制相似问题