문제

내 페이지의 페이지 제목을 관리하기 위해 헤더에 ContentPlaceHolder가 있는 마스터 페이지가 있습니다.

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

각 페이지에 다음과 같이 메타 태그와 페이지 제목을 추가합니다.

<asp:content id="Header" contentplaceholderid="headContent" runat="server">
    <meta name="keywords" content="keyword1, keyword2" />   
    <meta name="description" content="page description" />
    <%Page.Title = "My page title";%>  
</asp:content>

페이지의 코드를 수정할 수 없습니다. Page.Title 에서 OnInit 페이지의 방법.

마스터 페이지의 코드 숨김에 있는 페이지 제목에 액세스해야 하지만 사용할 때 항상 빈 제목이 표시됩니다. Page.Title.

도움이 되었습니까?

해결책

사용하여 <%Page.Title = "My page title";%>암묵적으로 말하다 이것을 실행하기 위한 ASP.NET 임베디드 코드 블록 페이지의 렌더링 단계 중.

무슨 뜻이에요?페이지의 렌더링 단계 전에는 이 값을 얻을 수 없습니다.렌더링하는 동안보다 조금 더 일찍 이 값을 얻으려고 한다고 가정합니다.이것이 빈 문자열을 얻는 이유입니다.

해결 방법은 다음을 설정하는 것일 수 있습니다. Title 의 재산 <%@ Page 페이지 시작 부분의 지시문 예:

<%@ Page Title="My Title Goes Here" Language="C#" ... %>

이것을 설정하면 다음 항목에 액세스할 수 있습니다. Page.Title 페이지 렌더링이 발생하는 것보다 조금 더 일찍 마스터 페이지의 속성을 가져옵니다.

다른 팁

그냥 사용

<title>My page title</title>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top