0
하드 코드 된 테마 값이있는 마스터 페이지에 드롭 다운 상자를 놓고 lstThemeChooser라고했습니다.마스터 페이지에 테마 선택기를 삽입하려면 어떻게합니까?
페이지 테마를 설정하고 싶습니다. 나는 각 페이지에 이것을 넣어야한다고 읽었습니다 :
protected void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["lstThemeChooser"];
}
그러나 요청은 null이므로 테마가 설정되지 않습니다.
드롭 다운 상자는 autopostback = True로 설정됩니다.
내가 뭘 잘못하고 있는지, 아니면 어떻게 든 완전히 불가능한 아이디어가 있습니까?
(asp.net)
내가 드롭 다운 상자 그래도 내 페이지의 맨 오른쪽에있는 헤더에 표시 할 클래스를 사용을하고, 헤더는 마스터 페이지에 의해 제어됩니다. 나는 당신의 대답을 이해하지 못한다. 페이지 객체를 서브 클래스로 분류하는 것에 대한 의미를 설명 할 수 있겠는가? 죄송합니다 .. – NibblyPig
Masterpage에서 제어 논리를 제어 할 수 있습니다. 하지만 : 각 페이지에서만 테마를 변경할 수 있습니다. 이는 Masterpage가 아닌 Page 만 PreInit 및 InitializeCulture 이벤트를 가지고 있기 때문입니다. 서브 클래 싱이란 예로서 제공되는 클래스 I를 생성한다는 것을 의미합니다. 그런 다음 각 페이지에서 기본 클래스를 변경해야합니다. 나는 내 대답을 편집했다. – Arthur
고맙습니다. 이상한 점은 마스터 페이지에서 컨트롤을 사용할 수 있지만 마스터 페이지를 사용하는 페이지의 page_preinit 이벤트가 발생하기 전에는 요청이 단순히 null을 반환한다는 것입니다. 누락 된 내용이 있습니까? – NibblyPig