2009-06-23 2 views
3

내가 가진 :왜 asp : 제목의 ContentPlaceHolder가 전체 제목을 대체합니까? 내 Site.Master에 ASP.Net MVC를 사용

<asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server"> 
    Home 
</asp:Content> 

나는 결과적으로 기대했다 :

<head runat="server"> 
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /> - MySite</title> 
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 
</head> 

다음 각보기에 뭔가처럼이

<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을 참조하십시오.

+0

정말 고맙다. – wheelibin

1

< % @ Page %> 지시어에 제목 속성이있을 수 있습니다.

+0

나는 거기에 제목이 있었지만 제거하는 것은 도움이되지 못했습니다. 어떻게해야합니까? – Pablo

0

유선 저도 같은 문제를 가지고 나는 제목이 컨트롤러

+1

틀림없이 뷰는 컨트롤러가 아닌 제목을 결정해야합니다. –

+0

"나는 틀림없이 말하지 않을 것입니다." 타이틀은 가장 확실하게 뷰 로직이고, 아마도 95 %의 시간을 차지할 것이며, 다이나믹 타이틀은 모델을 기반으로합니다. –

0

runat="server" 비트를 헤드 태그 밖으로 가져다 봤습니까? 나는 지금 당장 시험 할 기계가 없지만 그것은 나에게 조금 이상해 보입니다.

0

나는 Site.Master 파일에서이 마크 업을 사용 : 그것은의 suggestion을 boymc과 유사

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

.

관련 문제