У меня очень специфическая проблема с моим приложением asp.net, мне потребовался возраст, чтобы отследить, но я все еще не знаю, что вызывает такое поведение.
Если я установил сеанспеременная в событии Application_PreRequestHandlerExecute
, тогда мои внешние файлы JavaScript игнорируются и поэтому вызывают множество ошибок.Я упростил задачу ниже.
Например
У меня есть файл с именем JScript.js
, содержащий код:
function myAlert() {
alert("Hi World");
}
И в моем файле Default.aspx
я ссылаюсь наjs с кодом:
<script src="JScript.js" type="text/javascript"></script>
И в теле события onload
я вызываю функцию myAlert()
:
<body onload="myAlert()">
И, наконец, в файле Global.asax
:
Private Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
HttpContext.Current.Session("myVar") = "MyValue"
End Sub
Если вы запустите файл Default.aspx
, вы увидите, что функция js не вызывается, однако, если вы закомментируете строку кода Global.asax
, тогда вызывается внешний js и функция выполняется, когда страницазагружает.
Почему это?