Je rencontre un problème très particulier avec mon application asp.net, il m'a fallu un âge pour traquer mais je ne sais toujours pas ce qui cause ce comportement.La définition d'une variable de session dans Global.asax provoque des erreurs AJAX
Si je mets une variable de session en cas Application_PreRequestHandlerExecute
, mes fichiers JavaScript externes sont ignorés, et provoquant therfore une série d'erreurs. J'ai simplifié le problème ci-dessous.
E.g.
J'ai fichier appelé JScript.js
contenant le code:
function myAlert() {
alert("Hi World");
}
Et dans mon dossier Default.aspx
je référence à la js avec le code:
<script src="JScript.js" type="text/javascript"></script>
Et dans le cas corps onload
j'appelle le myAlert()
fonction:
<body onload="myAlert()">
Et enfin dans le fichier Global.asax
:
Private Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
HttpContext.Current.Session("myVar") = "MyValue"
End Sub
Si vous exécutez le fichier Default.aspx
vous verrez la fonction js n'appelle pas, cependant, si vous commentez la ligne de code Global.asax
puis est appelé les js externes et la fonction exécuté lorsque la page se charge.
Pourquoi est-ce?
Avez-vous activé le mappage de caractères génériques pour cette application? http://weblogs.asp.net/scottgu/archive/2007/03/04/tip-trick-integrating-asp-net-security-with-classic-asp-and-non-asp-net-urls. aspx –