Скрытое буквальное управление в заголовке (ASP. NET веб-формы) - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь скрыть некоторый код Javascript в заголовке, просто используя объявления. Свойство Visible должно контролироваться параметром в web.config (ConfigurationManager.AppSettings ["key"]).

Однако по какой-то причине установка свойства Visible, как это, не имеет никакого эффекта - это всегда верно:

<head id="Head1" runat="server">
  <asp:Literal ID="JSLiteral" runat="server" Mode="PassThrough" Visible='<%# false %>'>
   Some JS
  </asp:Literal>
</head>

Вероятно, он связан с жизненным циклом страницы в ASP. NET. Это работает при установке этого свойства в событии Page_Load, но это не то, что мне нужно, так как мне нужно вставить этот блок во многие веб-приложения, и я не хочу перекомпилировать их все.

Любые идеи Как это может быть достигнуто с минимальными усилиями в ASP. NET? Я не хочу возиться с кодом JS, который нужно добавить в заголовок - это код стороннего производителя.

Заранее спасибо и ура, Роджер

1 Ответ

0 голосов
/ 07 апреля 2020

Попробуйте следующее.

protected void Page_Load(object sender, EventArgs e)
{
    Head1.DataBind();
}

То, что вы используете - это выражение DataBinding. Так что DataBind() должен быть вызван.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...