콘텐츠 페이지의 코드 숨김에서 마스터페이지의 배경을 어떻게 변경할 수 있나요?

StackOverflow https://stackoverflow.com/questions/2209

  •  08-06-2019
  •  | 
  •  

문제

특히 스타일을 추가하고 싶습니다. background-color ~로 <body> 해당 마스터 페이지를 사용하는 콘텐츠 페이지의 코드 숨김(C#)에서 마스터 페이지의 태그입니다.

마스터 페이지가 콘텐츠 페이지의 테마와 일치하도록 로드된 콘텐츠 페이지에 따라 마스터 페이지의 색상이 달라져야 하는 다양한 콘텐츠 페이지가 있습니다.

아래에 해결책이 있습니다.


나는 다음과 같은 것을 찾고 있습니다.

Master.Attributes.Add("style", "background-color: 2e6095");

콘텐츠 페이지의 페이지 로드 기능 내부.하지만 위의 줄을 작동시킬 수 없습니다.나는 단지 background-color 위해 <body> 페이지의 태그입니다.

도움이 되었습니까?

해결책

특별한 경우에 내가 할 일은 다음과 같습니다.

나.본문을 서버 측 컨트롤로 정의

<body runat="server" id="masterpageBody">

ii.콘텐츠 aspx 페이지에서 MasterPage를 레지스터에 등록합니다.

<% MasterPageFile="..." %>

iii.콘텐츠 페이지에서 이제 간단히 다음을 사용할 수 있습니다.

Master.FindControl("masterpageBody")

그리고 컨트롤에 접근할 수 있습니다.이제 원하는 속성/스타일을 변경할 수 있습니다!

다른 팁

이것이 내가 생각해낸 것입니다:

페이지 로드 기능에서:

HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("default_body");
body.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#2E6095");

어디

default_body = body 태그의 ID입니다.

나는 당신이 콘텐츠 관리 시스템에 대해 이야기하고 있다고 생각합니다.과거에 이 상황을 해결한 방법은 다음 중 하나입니다.

  1. 페이지/콘텐츠가 추가 사용자 정의 스타일시트를 정의하도록 허용하거나
  2. 페이지/콘텐츠가 인라인 스타일 태그를 정의하도록 허용
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top