2009-09-22 7 views
0

J'ai un panneau de mise à jour et une liste de boutons qui le déclenchent. J'ai besoin d'un moyen de savoir quel bouton a été pressé lorsque la méthode de chargement (qui est causée par les déclencheurs) s'éteint, mais je ne peux pas le comprendre. L'expéditeur ne jette pas dans le déclencheur, mais le panneau de mise à jour lui-même.Comment puis-je déterminer quel déclencheur a déclenché mon panneau de mise à jour?

Je dois effectuer une action en fonction du bouton sur lequel j'ai appuyé.

Un conseil?

J'utilise ASP.NET/C#

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" OnLoad="LocationList_Load"> 

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btnLocMiddleEast" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocUSA" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocNewZealand" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocAustralia" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocEurope" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocRepublicOfIreland" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocNorthernIreland" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocWales" /> 
    <asp:AsyncPostBackTrigger ControlID="btnLocScotland" /> 
+0

dans quel langage et comment déclenchent-ils le panneau de mise à jour? – Mark

+0

Utilisez-vous ASP.NET? –

+0

Puisqu'il s'agit de l'événement click du bouton qui déclenche la mise à jour, vous savez déjà quel bouton provoque son clic sur l'événement que vous venez de déclencher. Pouvez-vous placer votre code dans les événements click? – Robert

Répondre

0

Si vous le débogage, vous pouvez vérifier la stack trace.

+1

ne pensez-vous pas qu'il veut connaître la source du déclencheur à l'exécution (pas déboguer) – Martin

+0

Il n'a pas dit, et je ne voulais pas assumer. N'hésitez pas à fournir une réponse alternative si vous pensez avoir manqué quelque chose. –

1

Normalement, je créerais simplement un gestionnaire d'événements Click individuel pour chaque bouton, puis j'écrirais le code spécifique qui devrait être déclenché dans chaque gestionnaire d'événements.

+0

Est-ce que cela ne provoque pas la publication des boutons/page? Je ne veux pas vraiment actualiser la page afin d'exécuter le codebehind – NibblyPig

+0

Non. Cela ne déclenche pas une publication complète, car le panneau de mise à jour a enregistré que les événements envoyés par ces boutons doivent générer une publication asynchrone – Pete

+0

Note. Lorsque vous utilisez un panneau de mise à jour, tout ce qui se passe côté serveur est le même que pour une publication normale de formulaire. La différence est la façon dont la requête est faite (asynchrounous) et quelles données sont retournées (seulement le HTML qui va dans le UpdatePanel (s) + viewstate). – Pete

Questions connexes