2008-08-05 6 views
16

구체적으로 background-color의 스타일을 마스터 페이지의 <body> 태그에 추가하려면 해당 마스터 페이지를 사용하는 콘텐츠 페이지의 코드 숨김 (C#)에서 추가하십시오.콘텐츠 페이지의 코드 숨김에서 마스터 페이지의 배경을 변경하려면 어떻게해야합니까?

마스터 페이지가로드되는 콘텐츠 페이지에 따라 마스터 페이지를 다른 색으로 만들어야하므로 마스터 페이지가 콘텐츠 페이지의 테마와 일치하도록해야합니다. 좀 더 뭔가를 찾고 있어요


: 콘텐츠 페이지의 페이지로드 기능의 내부

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

나는 아래의 해결책을 가지고 있습니다. 그러나 나는 위의 줄을 작동시킬 수 없다. 페이지의 <body> 태그에 대해서만 background-color을 변경하면됩니다.

+0

더 나은 솔루션 http://stackoverflow.com/questions/21476068/asp-net-changing-master-page-section-css-from-content-page –

답변

8

특정 경우에 대해 수행 할 작업은 다음과 같습니다.

i. 서버 측 컨트롤로 본문을 정의하십시오.

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

ii. 콘텐츠 aspx 페이지에서 등록자와 함께 MasterPage를 등록하십시오.

<% MasterPageFile="..." %> 

iii. 콘텐츠 페이지에서 이제 간단하게

Master.FindControl("masterpageBody") 

을 사용하고 컨트롤에 액세스 할 수 있습니다. 이제 원하는 속성/스타일을 변경할 수 있습니다! 페이지로드 함수에서

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

+0

당신이 Master.FindControl을 명확히하기 위해시겠습니까이다 ("masterpageBody")를 추가하고 CSS 클래스를 추가하는 예제를 추가하십시오. –

0

저는 콘텐츠 관리 시스템에 대해 이야기하고 있다고 생각합니다.

  1. 이 페이지/컨텐츠 인라인 스타일 태그
을 정의 할 수 있으며 페이지/컨텐츠를 추가 사용자 정의 스타일 시트 또는
  • 을 정의 할 수 있도록 허용 : 나는 과거에 이런 상황 DELT 한 방법은하는 중입니다
  • 1

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

    경우

    default_body = body 태그의 ID입니다. 여기

    관련 문제