Question

J'ai un problème étrange.

je dois utiliser GetPostBackEventRefence pour forcer une Postback, mais cela fonctionne du premier coup, après la première postback, la fonction .NET n'est pas rendue...des idées?

Voici ce qui me manque après la publication :

<script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
        theform = document.Main;
    }
    else {
        theform = document.forms["Main"];
    }
    theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    theform.__EVENTARGUMENT.value = eventArgument;
    theform.submit();
}
// -->
</script>
Était-ce utile?

La solution

La première chose que je regarderais est de savoir si vous avez des contrôles asp (tels que des boutons de lien, des listes déroulantes, qui ne génèrent normalement pas de soumission mais nécessitent une publication) affichés sur la page.La fonction __doPostback ne sera insérée dans la page que si ASP pense qu'un de vos contrôles l'exige.

Si vous n'en utilisez pas, vous pouvez utiliser :

Page.ClientScript.GetPostBackClientHyperlink(controlName, "")

pour ajouter la fonction à votre page

Autres conseils

Eh bien, suite à cette idée, j'ai créé une fonction factice avec la postbackreference, et cela fonctionne...c'est quand même bizarre, car le rendu est correct du premier coup

this.Page.RegisterClientScriptBlock("DUMMY", "<script language='javascript'>function dummy() { " + this.Page.GetPostBackEventReference(this) + "; } </script>");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top