2012-10-26 4 views
2

내가 런타임에 site.master 페이지에 존재하고있다 CSS 클래스의 속성을 변경하려고하고 정말 내가 지금까지 피곤 가지고있는 머리의 방법을 얻을 어차피ASP, 인터넷 사용 site.master 페이지

mainContainer.Attributes.Add("style", "background-image('myImage.png')"); 
이들의

mainContainer.Attributes.Add("class", "className"); 

하지만 비는 날 런타임에 마스터 파일의 CSS를 변경할 수 있습니다. 난 ...이 마스터 페이지 당신은 부분적으로 다음과 같은 다른 자식 페이지에서 마스터 페이지를로드 할 필요

<div class="main"> 

      <asp:ContentPlaceHolder ID="MainContent" runat="server"/> 


     </div> 

답변

1

ContentPlaceHolder은 출력 HTML 코드에 존재하지 않을 요소입니다. 영역 만 정의합니다. 클래스 "main"을 사용하여 div를 변경하려고 할 수 있습니다. runat = "server"및 id 속성을 추가하고 코드에서 액세스하십시오.

<div id="MainDiv" class="main" runat="server"> 

다음

MainDiv.Attributes.Add... 
+0

스타일을 추가 마스터 페이지에 컨트롤을 찾을 필요 – user1776590

1

의 코드가

C#을 사용 asp.net을 사용하고

<%@ MasterType VirtualPath="~/Site1.Master" %> 
당신의 필요에 따라

protected void Page_Load(object sender, EventArgs e) 
    { 
     HyperLink contact_menu = (HyperLink)Master.FindControl("contactmenu"); 
     contact_menu.CssClass = "current"; 
    } 

변경 page..put 아이의 페이지로드에서 그런

..즐기십시오 ..

0

먼저

Image img = Page.Master.FindControl("layoutStyleSheet") as Image; 

는 다음 일을 해달라고 할 것이

img.Attributes.Add("class", "className");