2010-11-11 7 views
1

Quel est le meilleur moyen de transmettre une variable à partir d'un événement OnClick. Pour élaborer, je voudrais lier certaines données au bouton, puis quand ce bouton est pressé, je voudrais transmettre ces données au code derrière et faire quelque chose de cool avec lui.Passer des variables avec l'événement OnClick

J'ai trouvé plusieurs façons de le faire, en passant un commandParamter, ajouter une balise de bouton et l'utiliser. Je me demande ce qui est considéré comme la meilleure pratique pour ce problème? Aussi suis-je en train de regarder le problème? Ne devrais-je pas essayer de passer une variable au clic mais faire autre chose?

balisage

<asp:button text="test" id="btnTest" runat="server"/> 

codebehind

Protected Sub btnTest_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnTest.Click 
    'do something cool 
End Sub 

Répondre

0

Il ne semble pas que vous êtes vraiment "passer" une variable à l'événement clic du bouton. Vous faites simplement (et correctement) référence à la valeur actuelle dans la zone de texte en accédant à test.Text. Par exemple, en supposant que vous avez une étiquette sur votre formulaire nommé resultLabel:

Protected Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click 
    If test.Text.Trim() = String.Empty Then 
     resultLabel.Text = "Please enter a value!" 
    Else 
     resultLabel.Text = test.Text 
    End If 
End Sub 

Bien sûr, réaliste, vous pouvez utiliser un RequiredFieldValidator ou avoir une meilleure façon d'afficher les erreurs à l'utilisateur au lieu de réutiliser la même étiquette.

Cette approche est correcte. Une fois familiarisé avec ce style, vous pouvez choisir d'implémenter le modèle Model-View-Presenter (MVP). Un bon projet à regarder est ASP.NET Web Forms MVP. Alternativement, Microsoft offre une saveur différente de ASP.NET, à savoir ASP.NET MVC (Model-View-Controller).

Questions connexes