2015-01-21 2 views
1

레이아웃 페이지 맨 위에 정의 된 값을 재정의하는 데 문제가 있습니다. 예를 들어ASP.NET 웹 페이지 : 콘텐츠 페이지의 레이아웃에 정의 된 값 재정의

, 내 레이아웃 페이지의 상단이있는 경우 :

@{ 
    Page.ShowProgressBar = false; 
} 

그리고 레이아웃에 어딘가에 값을 읽

@ if (Page.ShowProgressBar) { 
    // do some processing in the layout 
} 

을 내가 설정 선택적 어떻게

@{ 
    Page.ShowProgressBar = true; 
} 

콘텐츠 페이지에서?

즉, 은 레이아웃에서 Page.ShowProgressBar에 기본값을 제공하고 콘텐츠 페이지에 필요할 때이를 재정의하려고합니다.

이 또한 의미하는 바는 I 은 모든 콘텐츠 페이지에서 Page.ShowProgressBar에 값을 설정하고 싶지 않음을 의미합니다.

답변

1

콘텐츠 페이지에서 이후에 을 실행하면 콘텐츠 페이지에서 설정하도록 선택한 값이 레이아웃 페이지로 덮어 쓰여집니다. 기본값을 설정하려면 _PageStart.cshtml 파일을 사용해야합니다. _PageStart.cshtml전에 콘텐츠 페이지가 실행되므로 콘텐츠 페이지의 값을 무시할 수 있습니다.

또는 _AppStart.cshtml 파일을 사용하여 어디서든 덮어 쓸 수있는 응용 프로그램 수준 변수를 설정할 수 있습니다. 이 파일에 대한 자세한 내용은 여기를 참조하십시오. http://www.asp.net/web-pages/overview/ui,-layouts,-and-themes/18-customizing-site-wide-behavior

+0

감사합니다. _PageStart.cshtml은 내가 찾고있는 것입니다. 그리고 자원 링크를 추천 해 주셔서 다시 한번 감사드립니다. – SamuelC