首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp.net mvc中实现从PartialView到PageTitle的转换

问如何在asp.net mvc中实现从PartialView到PageTitle的转换
EN

Stack Overflow用户
提问于 2011-03-06 19:39:40
回答 2查看 1.4K关注 0票数 0

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

Using the Title property of Page requires a header control on the page. (e.g. <head runat="server" />).

我的母版页标题部分在这里

代码语言:javascript
复制
<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
</head>

我的默认页面在这里

代码语言:javascript
复制
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%=ViewData["pagetitle"] %>
</asp:Content>

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

请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2011-05-05 23:01:48

我不太确定你的文件是如何组织的,但是如果你有一个entities文件夹,你可以从其中为你的视图页面拉取信息,那么在aspx页面中,你可以这样做:

代码语言:javascript
复制
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%:projectName.Resources.Entities.FolderName.FileName%>
</asp:Content>
票数 1
EN

Stack Overflow用户

发布于 2011-03-06 20:56:04

因为标题是作为head部分的一部分呈现的,所以对于局部视图来说,没有一种简单的方法来直接设置页面标题。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5210246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档