2009-06-23 63 views
3

在我的Site.Master使用ASP.Net MVC我有:爲什麼標題上的asp:ContentPlaceHolder替換整個標題?

<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> 

任何想法爲什麼?

回答

7

使用此控制使用此格式

<title><%= Html.Encode(ViewData["Title"]) %> - mysite</title> 

<title> 
    <asp:ContentPlaceHolder ID="titleContent" runat="server" /> 
    <%= "- My Site" %> 
</title> 

原因是在頭部呈現的一切都呈現爲一個控件。

查看此question的一些進一步的鏈接,以及解決它的其他方法。

1

您可能在<%@ Page%>指令中有Title屬性。

+0

我確實有一個標題,但刪除它沒有幫助。我該怎麼處理它? – Pablo 2009-06-23 09:02:19

0

有線我有同樣的問題,我結束了這樣的標題是通過控制器

+1

可以說,視圖應該負責確定標題而不是控制器。 – 2009-06-23 03:06:58

+0

我甚至不會說「可以說」。標題肯定是視圖邏輯,大概95%的時間,動態標題是基於你的模型。 – 2009-06-23 03:56:32

0

您是否試過將runat="server"位標記出頭標?我現在沒有機器測試,但對我來說看起來有點奇怪。

0

我使用這個標記中的Site.Master文件:

<title> 
    <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> 
    <asp:Literal runat="server" Text=" - MySite" /> 
</title> 

它類似於boymc的suggestion