如何动态地在标头标签之后添加脚本

时间:2012-03-07 16:22:53

标签: c# asp.net webforms

我想在页面上动态添加文字但在</head>之后和<body>.之前如何以编程方式找到此部分并动态添加文字?所以基本上页面最终看起来像这样:

<head>
</head>
<LITERAL HERE>
<body>
</body>

我看到了如何找到头标记,但我不知道如何告诉它在关闭之后和身体之前添加文字。 (这是Bing广告中心跟踪代码,因为他们建议将其放在那里)。但它需要是动态的,因为我们不会总是在每次用户到达此页面时添加跟踪,但仅取决于某些情况。

谢谢

2 个答案:

答案 0 :(得分:3)

您可以使用分隔符将String的内容直接插入到页面中。

<head runat="server">
    <title></title>
</head>
<%= TrackingString %>
<body>
</body>

确保在引用它的页面上全局声明此字符串,并且当您在页面上操作此字符串时,它将作为文本写入页面并解析为HTML:

public partial class Default : System.Web.UI.Page
{
    public string TrackingString;

    protected void Page_Load(object sender, EventArgs e)
    {
        TrackingString = "<YourHtmlTag></YourHtmlTag>";
    }
}

在您不想跟踪用户的情况下,只需将字符串设置为String.Empty或“”,并且不会将任何内容写入HTML。

答案 1 :(得分:0)

您可以在页面加载事件中使用文字控件和绑定文本

<head>
    <asp:Literal ID="literal1" runat="server"></asp:Literal>
    <title></title>
</head>

C#

protected void Page_Load(object sender, EventArgs e)
{
    if(condition)
    {
      literal1.Text = "html or script tag";
    }
}