Вопрос

У меня есть страница, которая включает JavaScript, которую я хочу бежать в определенных условиях. Для этого я разместил скрипты в ASP: заполнитель

Это на самом деле, кажется, работает, но когда я запускаю отладочную страницу, я получаю следующее предупреждение.

Элемент «заполнитель» не является известным элементом. Это может произойти, если есть ошибка компиляции на веб-сайте, или файл Web.config отсутствует.

Если я перемещаю заполнителей в тело страницы, предупреждение идет, но это означает, что я остался со скриптами в организме, который я также хочу избежать. У кого-нибудь есть какие-либо намеки на лучшую практику для этого сценария ?? Спасибо

Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

dim lt as new Literal()
lt.text = "<script type='text/javascript' src='scripts/pageLoadAnimations.js'></scr" & "ipt>"
me.Header.Controls.Add(lt)

End Sub
Это было полезно?

Решение

Вы можете включить файл JS прямо из кода позади:

If (some condition is true) Then
   Page.ClientScript.RegisterClientScriptInclude("jQuery", "jquery-version.js")
End If

Другие советы

Пара способов, которые соответствуют вашим потребностям:

Во-первых, вы могли бы изменить свой <head> TAG TO <head id="header" runat="server"> Тогда это позволяет динамически добавлять что-либо в него, например

dim lt as new Literal()   
lt.text = "<script type='text/javascript' src='pathtojavascriptfile'></script>"  
me.Header.Controls.Add(lt)

Или вы можете создать публичную строку на вашей странице, затем придерживайтесь JavaScript в этом.

Публично _js как строка

Page_load.

_JS = "alert('here');" ' Or what ever your javascript is

ASPX PAGE

<head>
    <script type="text/javascript" src="jquery-version.js"></script>
    <script type="text/javascript">
       $().ready(function(){
          <%=(me._JS) %>
       });
    </script>
</head>

Вы можете подумать о том, чтобы смотреть в CliCScriptManager. Это позволит вам правильно вводить сценарии в заголовке, используя все необходимые вами условия.

Включая пользовательский клиентский скрипт в страницах ASP.NET
Клицеспринцес-класс

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top