2013-07-16 3 views
0

마스터 페이지 파일이 있고 항상 Page.Header.Controls.Add 등을 사용하여 실용적인 스타일 시트를 추가했습니다. 그러나 우리는 특정 장소에 CSS 파일을 원하는 클라이언트가 있으므로 머리 부분에는
<asp:ContentPlaceHolder ID="HeadContent" runat="server">site.master 컨트롤에 내용 추가

그래서 나는 거기에 그것을 추가 할 수있을 것이라고 생각했다.

나는

ContentPlaceHolder blar = (ContentPlaceHolder)Master.FindControl("HeadContent"); 
blar.Controls.Add(css); 

을 시도했지만 아무것도 사람이 도움을 줄 수, 표시되지 않습니다?

+1

'css'란 무엇입니까? 디버깅 해 봤어? – Satpal

답변

0

U 귀하의 CSS 파일을 추가 할 수 있습니다. 이 질문에 대한 답

ContentPlaceHolder blar = (ContentPlaceHolder)Master.FindControl("HeadContent"); 
HtmlLink css= new HtmlLink(); 
css.Attributes.Add("rel", "stylesheet"); 
css.Attributes.Add("type", "text/css"); 
css.Href = "/Styles/site.css"; 
blar.Controls.Add(css); 
+0

그래, 내가 어떻게 그것을 가지고 있지만 렌더링 된 페이지의 소스를 볼 때 어떤 이유로 거기에 아무것도 없다. –

+0

내 예제 페이지에서 작동한다. – CocLn

+0

DOH 작동 중입니다. 그냥 잘못된 bl ** dy 페이지로갑니다. –

0

체크 아웃 : https://stackoverflow.com/a/2969360/1372321

당신이

업데이트

는 헤더의 특정 장소에 내용을 추가하려면 : 원하는 것을 할 것 같다 , .Net 4.5를 사용하고 있다면 System.Web.Optimatization API을 사용하고 스타일을 묶을 수 있습니다. 그런 다음 머리에 다음과 같이 제공된 컨트롤을 사용할 수 있습니다.

<webopt:BundleReference runat="server" Path="~/Content/css" /> 

이 예제는 기본 WebForms 프로젝트 템플릿에서 볼 수 있습니다. 당신이 닷넷의 이전 버전을 사용하는 경우

, 당신과 같이 특정 자리에 컨트롤을 추가 한 다음 마스터 페이지에 내용 자리를 사용하고 있습니다 :

를 마스터 페이지 헤드에

당신은 단순히 일을 추가 할 수 있습니다

<asp:Content runat="server" ContentPlaceHolderID="HeadContent"> 
    <asp:PlaceHolder runat="server" ID="placeHolderHead"></asp:PlaceHolder> 
</asp:Content> 

그리고 aspx 페이지에서

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

e 프로그래밍 방식으로 자리 표시 자에 컨트롤을 연결합니다.

+0

현재 Page.Header.Controls.Add()를 사용하고 있는데, 이는 닫기 헤드 태그 바로 앞에 CSS를 놓고 있습니다. 다른 CSS 파일 다음의 CSS 파일과 페이지에서 사용되는 js 파일 앞에 –