在我的Site.Master上使用ASP.Net MVC我有:
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /> - MySite</title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
然后在每个视图上我都有:
<asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
Home
</asp:Content>
我期待的结果是:
<title>Home - MySite</title>
但我得到了:
<title>Home</title>
任何想法为什么?
答案 0 :(得分:7)
使用此:
<title>
<asp:ContentPlaceHolder ID="titleContent" runat="server" />
<%= "- My Site" %>
</title>
原因是头部渲染的所有内容都被渲染为控件。
请参阅此question以获取更多链接以及其他解决方法。
答案 1 :(得分:1)
您可能在&lt;%@ Page%&gt;中有一个Title属性指令。
答案 2 :(得分:0)
有线我有同样的问题,我最终使用这种格式
<title><%= Html.Encode(ViewData["Title"]) %> - mysite</title>
以这种方式通过控制器控制标题
答案 3 :(得分:0)
您是否尝试从头标记中取出runat="server"
位?我现在没有机器可以测试,但这对我来说有点奇怪。
答案 4 :(得分:0)
我在Site.Master文件中使用此标记:
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
<asp:Literal runat="server" Text=" - MySite" />
</title>
它看起来类似于boymc的suggestion。