2009-12-29 59 views
3

我實現web應用程序,我遇到以下問題:暴露的ContentPlaceHolder在用戶控制

我有它自己的風格和js文件的用戶控件,當我的用戶控件添加到頁面中,我嘗試驗證murkup我得到的錯誤,因爲用戶控件的樣式和js在頁面的主體而不是頭部。我想揭示頁面頭添加從我的Web應用程序用戶控件樣式和js文件直接到頁頭。你有什麼建議嗎? 我事先沒有

回答

1

斯科特谷wrote關於這個帖子得到任何好的解決方案在線又

感謝。你可以嘗試以下方法:

HtmlGenericControl script = new HtmlGenericControl("script"); 
script.Attributes.Add("type", "text/javascript"); 
script.Attributes.Add("src", "/somescript.js"); 
Page.Header.Controls.Add(script); 
3

在用戶控件的標記,你可以把佔位所有CSS和JS引用你需要這樣的:

<asp:PlaceHolder ID="phStyles" runat="server"> 
    <link type="text/css" rel="stylesheet" href="/App_Themes/Default/style/MyStyles.css" /> 
</asp:PlaceHolder> 

比用戶控件的代碼背後,你可以佔位符添加到頁面的控件保藏:

protected void Page_Load(object sender, EventArgs e) 
    { 
     Page.Header.Controls.Add(phStyles); 
    } 

唯一的條件是,頁面上的頭標籤必須有RUNAT =「服務器」是這樣的:

<head runat="server"> 
</head> 
+0

感謝它的工作! – user220994 2009-12-29 11:34:31