如何在asp.net mvc中从PartialView更改PageTitle

发布于 2024-10-20 16:18:46 字数 640 浏览 1 评论 0原文

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

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

我的母版页标题部分位于此处

<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 字符串。 新闻详细信息页面包含部分视图。部分视图知道显示哪些新闻。

请帮忙

I want to change Page title from partial view. But following error shown

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

My master page head section is here

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

My Default page is here

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

ViewData["pagetitle"] returns current page title for example Home, About, News List, News Detail. But i want to change current news information title instead of News Detail string. News Detail page contains partial view. Partial view know which news shown.

Please help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〗斷ホ乔殘χμё〖 2024-10-27 16:18:46

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

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

Not really sure how you have your files structured but if you have an entities folder in which you pull information from for your view page then in the aspx page you can do something like this:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%:projectName.Resources.Entities.FolderName.FileName%>
</asp:Content>
浮生未歇 2024-10-27 16:18:46

由于标题是作为标题部分的一部分呈现的,因此部分视图没有简单的方法来直接设置页面标题。

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

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

Because the title is rendered as part of the head section, there is no easy way for a partial view to set the page title directly.

But your controller (which fetches the news item to display) will know what the title should be, and can add the "pagetitle" item to the ViewData collection, which you can then set either in your master layout directly or in a page-specific content region as you are doing above.

Hint: I'd recommend creating a static class called ViewDataKeys with static string properties (or public const fields) used as indexers into the ViewData collection. This helps avoid duplicates, spelling mistakes and case-sensitivity errors in working with the string-based dictionary from multiple sources.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文