从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
答案 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(模型 - 视图 - 控制器)。