ASP.NET :: au Cours de page_load, comment puis-je obtenir l'ID de la commande qui a soumis la publication?
Au cours de la Page_Load, je voudrais saisir le contrôle qui a effectué la publication.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
}
//Capture the control ID here.
}
Comme d'habitude, toutes les idées seraient grandement appréciés!
OriginalL'auteur Andy Evans | 2010-06-10
Vous devez vous connecter pour publier un commentaire.
Pour toute personne qui pourrait intéressé par ce (au moins ce qui a fonctionné pour moi). Cen a fourni la réponse.
Dans votre événement Page_Load ajouter:
Puis dans votre basepage code d'ajouter:
Vous pouvez voir le post original ici
Espère que cette aide.
Oui. Le nom de la commande est lue à partir de la page.Demande.Params.Get("__EVENTTARGET")
Je ne pense pas que ce que Andy a répondu est correct. Pour répondre à votre question, selon l'article que cette réponse semble être dérivée de, le code sera de trouver le bon bouton. L'explication selon l'article est comme suit: les Boutons de rendre aussi simple input type=“submit” balises. Tous les bouton n'est de provoquer le formulaire pour soumettre. C'est tout. Cependant, vous pouvez toujours obtenir, il suffit d'une manière différente.
Depuis le bouton (ou d'entrée) est ce qui provoque le formulaire pour soumettre, il est ajouté les éléments dans le Formulaire de collecte, ainsi que toutes les autres valeurs dans le formulaire soumis. Il est important de noter, que d'autres input type=“submit” balises du formulaire ne sont pas ajoutés à la collection de Formulaire, sauf s'il a été celui qui a causé le formulaire pour soumettre. Si vous regardez dans le Formulaire de collecte de tout ce qui est un bouton qui va être ce qui a causé la publication (en supposant que c'était un bouton qui a causé la page à envoyer)
OriginalL'auteur
Habituellement, vous pouvez regarder
Request.Params["__EVENTTARGET"]
. Cette variable sera peuplée que la suite de la publication, et contiendra l'id unique du contrôle qu'il a causé.Malheureusement cela ne fonctionne pas pour le bouton ou contrôle imagebutton. Pour ce qui semble être un peu de méthode robuste pour l'obtenir dans ces cas, vous pourriez consultez cet article de blog.
OriginalL'auteur womp
Si il y a un moyen de le faire, j'aimerais savoir aussi!
Toutefois, vous pouvez définir des gestionnaires d'événements pour chacun des contrôles qui peuvent générer de la publication, et de gérer les événements comme ils viennent dans.
Le problème c'est que ces événements sont traités après Page_Load. Donc, ce que vous devez faire dans cette approche, c'est d'ajouter un gestionnaire pour Page_PreRender, et le processus de l'entrée de commande. Dans la page cycle de vie, les événements de contrôle sont après Charge, mais avant de pré-rendu.
OriginalL'auteur Cylon Cat
Vous pouvez utiliser Demande["__EVENTTARGET"] pour obtenir l'ID de la commande qui a appelé la publication.
OriginalL'auteur M4N