2009-12-29 61 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