Placholder asp.net во главе страницы
-
28-09-2019 - |
Вопрос
У меня есть страница, которая включает 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
Клицеспринцес-класс