Panneau de mise à jour ne présentant pas d'erreurs ASP.NET 3.5
Dans Visual Studio 2008 si vous créez un nouveau "Ajax 1.0 Activé ASP.NET 2.0 Application Web" et coller le code suivant:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button runat="server" ID="foo" Text="click me" onclick="foo_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
code derrière
protected void foo_Click(object sender, EventArgs e) {
throw new Exception("hello");
}
puis cliquez sur le bouton, vous verrez une alerte javascript qui dit "bonjour". Si vous créez une .NET 3.5 Application Web et coller le même code, aucune alerte ne s'affiche plus. Ce qui me manque?
Alors...personne n'est à l'aide .NET 3.5, ou personne n'est inquiet d'avoir des erreurs? 🙂
OriginalL'auteur aquinas | 2009-09-01
Vous devez vous connecter pour publier un commentaire.
Il y avait certainement un changement entre le comportement par défaut dans le ASP.NET Extensions AJAX 1.0 et ASP.NET AJAX 3.5. Cela on peut le voir en regardant la valeur par défaut endPostBack des gestionnaires d'événements pour le Sys.WebForms.PageRequestManager. L'ancienne version affiche le message d'erreur en utilisant une Alerte, tandis que le plus tard seulement renvoie l'erreur.
Si vous souhaitez que l'Alerte s'affichent dans votre ASP.NET AJAX 3.5 code, vous avez juste besoin de faire quelques petits changements.
Tout d'abord, vous devez ajouter un gestionnaire pour le ScriptManager de AsyncPostBackError événement, puis définissez la AsyncPostBackErrorMessage.
Ensuite, vous devez ajouter un gestionnaire pour le côté client PageRequestManager de l'événement endRequest. De là, vous pouvez obtenir le AsyncPostBackErrorMessage situé sur le côté serveur et utiliser une Alerte pour afficher le message à l'utilisateur.
J'espère que cette aide.
OriginalL'auteur Rob Windsor
Si vous voulez juste de fixer le navigateur javascript erreur et afficher le message de l'exception à l'utilisateur, il vous suffit de l'ajouter à votre Masterpage quelque part après le formulaire de déclaration:
Vous n'avez pas besoin d'attraper le OnAsyncPostBackError même, sauf si vous souhaitez personnaliser le message. Aller sur mon blog si vous voulez plus d'informations à ce sujet.
M'a aidé aussi. Merci.
OriginalL'auteur Wagner da Silva