使用OnClick事件传递变量

时间:2010-11-11 14:46:15

标签: asp.net vb.net

OnClick事件传递变量的最佳方法是什么?为了详细说明,我想将一些数据绑定到按钮,然后当按下该按钮时,我想将该数据传递回后面的代码并用它做一些很酷的事情。

我找到了几种方法,传递一个commandParamter,添加一个按钮标签并使用它。我想知道这个问题的最佳做法是什么?我也是在看错了吗?我不应该尝试在点击时传递一个变量,而是做其他事情吗?

标记

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

代码隐藏

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

1 个答案:

答案 0 :(得分:0)

听起来你并没有真正“将”变量传递给按钮的点击事件。您只需(并且正确地)通过访问test.Text来引用文本框中的当前值。例如,假设您的表单上有一个名为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

当然,实际上您会使用RequiredFieldValidator或更好地向用户显示错误,而不是重复使用相同的标签。

这种方法很好。熟悉此样式后,您可以选择实现Model-View-Presenter(MVP)模式。值得关注的一个好项目是ASP.NET Web Forms MVP。或者,Microsoft提供了不同风格的ASP.NET,即ASP.NET MVC(模型 - 视图 - 控制器)。