2010-07-09 4 views
2

최근에 내 asp.net mvc 응용 프로그램을 빌드했을 때 필자는 항상 마스터 페이지에서 계산되고 형식이 지정되고 구성되어야하는 여러 항목을 갖는 경향이 있습니다. 이러한 항목 중 일부는 다음과 같습니다.누구나 사용자 정의 ViewMasterPage를 사용합니까?

  • WordPress가 내 CSS를 돕기 위해 body 태그에 특정 분류를 첨부하고 싶습니다. 나는 보통 액션, 컨트롤러, 페이지 템플릿 등의 이름을 첨부합니다.
  • 저는 마스터 페이지에서 사용자 정의 IIdentity로 작업하기를 좋아합니다. 이 IIdentity는 사용자 좋은 표시 이름, 사용자 ID, 사용자 이름, 등을 포함
  • 등 ... 프로젝트

나는이뿐만 아니라 진화하고있다 달성에 대한 갔어요 방법에 따라 달라집니다. 마스터 페이지의 내용을 채우기 위해 모든 작업 결과와 함께 ViewData를 보내는 것으로 시작했습니다. 예 ->

// in the action 
ViewData["BodyClasses"] = "index home default"; 
ViewData["UserData"] = userData; 

return View(); 

// in the master page 
<% UserData userData = (UserData)ViewData["UserData"] %> 
... 
<body class="<%= (string)ViewData["BodyClasses"] %>"> 

그건 끔찍 했어. 그래서 저는 마스터 페이지의 맨 위에 몇 가지 변수를 넣고 마스터 페이지에서 작업해야하는 객체를 기반으로 변수를 채 웁니다. 예 ->

더 나은 방법이지만 쉬운 해결책이 있어야합니다. 나는 사용자 정의 ViewMasterPage를 생성하고 일부 공용 속성을 추가하는 작업을 시작했습니다. 마스터 페이지에서이 작업을 수행하는 다른 사람이 있습니까? 아니면 내가 완전히 빠진 다른 해결책이 있습니까?

답변

1

본문 태그 ID 및 클래스에 대한 일반 내용 자리 표시 자만 사용했습니다.

<body id="<asp:ContentPlaceHolder ID="BodyTagId" runat="server" />"> 

그런 다음 마스터 페이지 참조하는 특정 페이지에서 사용 :

<asp:Content ContentPlaceHolderID="BodyTagId" runat="server">about-page</asp:Content> 
+0

내가 질문자와 같은 방법을 사용을하지만 난 당신이 당신의 페이지가 말의 가득하려면이 말이 생각 태그. ;) – jfar

+2

나는 캐릭터에게 돈을 받는다. ;) – a7drew

+0

@ jfar - 어떤 방법을 사용합니까? 그리고 가치가있는 사용자 정의 ViewMasterPage에 대한 귀하의 생각은 무엇입니까? –

관련 문제