我知道当你知道你要添加什么时,这很容易。例如,使用UI控件
Page.Header.Controls.Add([控制])
但是,我从CMS数据库中提取HTML代码。换句话说,我需要在母版页的Head部分添加一个字符串。
答案 0 :(得分:3)
您可以使用与您在问题中显示的代码类似的代码向代码添加Literal
控件:
public partial class MyUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
var lit = new LiteralControl();
lit.Text = "<link href=\"test.css\" rel=\"stylesheet\" />";
Page.Header.Controls.Add(lit);
}
}
答案 1 :(得分:1)
如果您使用母版页,则可以:
母版页标记:
<html>
<head runat="server">
<asp:ContentPlaceHolder ID="MyHeadContentPlaceHolder" runat="server"></asp:ContentPlaceHolder>
</head>
</html>
内容页面标记:
<asp:Content ID="MyContent" ContentPlaceHolderID="MyHeadContentPlaceHolder" runat="server">
<asp:Literal ID="MyLiteralForCmsContent" runat="server"></asp:Literal>
</asp:Content>
内容页面代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Load the literal with content from the CMS.
this.MyLiteralForCmsContent.Text = ""; //Hook up the call to the CMS here.
}
}