Je veux intercepter les post-packs dans la page actuelle avant em> cela se produit. Je veux faire une manipulation personnalisée avant que un message soit servi. Des idées comment faire ça? P>
6 Réponses :
Pas sûr, mais je pense que vous recherchez ..
if (Page.IsPostBack) { }
Je veux faire des manipulations avant que un post-pack soit servi. Pas après que le post-plan soit arrivé. J'espère que vous l'obtenez.
page.ispospostback est votre ami. P>
Je veux faire des manipulations avant que un post-pack soit servi. Pas après que le post-plan soit arrivé. J'espère que vous l'obtenez.
Vous pouvez rechercher un publication dans l'un des événements de page de votre formulaire.
Si vous souhaitez prendre des mesures sur le post-colt qui implique la création de contrôles ou de la manipulation de la vietate, vous voudrez peut-être entrer sur un événement antérieur comme page_init. P>
Essayez ceci: P>
protected void Page_Init(object sender, EventArgs e) { if (Page.IsPostBack) { //Check for your conditions here, if (Page.IsAsync) { //also you may want to handle Async callbacks too: } } }
Je veux faire des manipulations avant que un post-pack soit servi. Pas après que le post-plan soit arrivé. J'espère que vous l'obtenez.
Pour obtenir le message avant une page, vous pouvez créer un HTTPHANDLER et implémenter la fonction check Ce lien Scott Hanselman pour un bon blog post sur la façon de le faire (y compris le code d'échantillon). P> processRequest code>. p>
Il y a quelques éléments que vous pouvez faire pour intercepter un publication sur le client.
La fonction __dopostback ressemble à ceci: p> avis qu'il appelle "TheForm .Submit () "Avant de faire le post-plan. Cela signifie que si vous affectez votre formulaire une fonction JavaScript OnSubmit, elle sera toujours appelée avant chaque poteau. P> alternativement, vous pouvez réellement remplacer la fonction __dopostback et le remplacer par le tien. Ceci est une vieille astuce qui a été utilisée dans ASP.NET 1.0 JOURS. P> var __original= __doPostBack;
__doPostBack = myFunction();
Parfait! Travaillé exactement comme je veux.
Comment __dopostback = mycosction (); travail? Ne devrait pas être __dopostback = mycosction;?
Utilisez les options suivantes
toutes les options fonctionne avec Formulaires compatibles AJAX et formulaires simples.
retourner faux pour annuler soumettre dans tout soumission-gestionnaire. em> p> blockquote>xxx pré> équivalent JavaScript - N'utilisez pas ce code avec le code précédent simultanément em> p>
xxx pré> Et si vous voulez un contrôle complet sur __dopostback Mettez ce script à côté de votre étiquette de formulaire p>
xxx pré> testé avec asp.net 4.0 p> p> p>
S'il vous plaît soyez plus spécifique: qu'entendez-vous par «avant le post-plan»?
Vous dites dans vos exigences que vous souhaitez intercepter un publication quand i> cela survient, mais dans vos commentaires aux intervenants, vous dites que vous voulez l'intercepter avant i>. Lequel veux-tu? Voulez-vous le faire du côté client ou du serveur?
Désolé pour la confusion. Édité la question pour préciser. Je veux l'intercepter avant que cela ne se produise. Je veux le faire au serveur. Bien que je puisse être intéressé de savoir comment le faire du côté client aussi.