Как динамически добавить скрипт после тега заголовка - PullRequest
3 голосов
/ 07 марта 2012

Я хотел бы добавить литерал динамически на странице, но сразу после </head> и до <body>. Как мне найти этот раздел программно и динамически добавить литерал? Таким образом, в итоге страница выглядела бы так:

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

Я как-то видел, как найти тег head, но я не знаю, как сказать ему добавить литерал сразу после его закрытия и перед телом. (Это для кода отслеживания в Центре рекламы Bing, так как они предлагают разместить его там). Но он должен быть динамичным, потому что мы не всегда будем добавлять отслеживание каждый раз, когда пользователь заходит на эту страницу, а только в зависимости от определенных случаев.

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Вы можете использовать разделители для вставки содержимого строки прямо на вашу страницу.

<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.

0 голосов
/ 07 марта 2012

Вы можете использовать буквальное управление и связывать текст в событии загрузки страницы

<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";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...