单击时将参数传递到ASP.Net Button控件

时间:2010-08-17 21:49:54

标签: c# javascript asp.net button

我有一个asp按钮(代码如下)。我有事件处理程序工作,但我想将一个字符串(这是一个javascript函数的结果)传递给事件处理函数。有没有办法做到这一点?

<asp:Button runat="server" ID="Button1"  OnClick="Button1_Click" Text="Run" />

2 个答案:

答案 0 :(得分:2)

不是你问的方式..但是......

您可以添加ASP:HiddenField,并使用Javascript将HiddenField的值修改为您的字符串。然后,您可以在Button Click事件中访问它。

可以找到一个示例here

答案 1 :(得分:2)

通常,您可以通过javascript修改输入控件,以便在Button点击后回发该值。如果您希望用户在视觉上无法查看您的javascript正在修改的数据以便回发,那么您可以将其写入HiddenField

您可以使用OnClientClick设置javascript,以便在回发发生之前运行,以确保将修改后的值放入输入控件中。例如:

<asp:Button ID="yourButton" runat="server" Text="Click Me!"
    OnClientClick="YourFunctionToAddStringToControl(); return true;"
    OnClick="yourButton_Click" />

因此,您只需将调用与YourFunctionToAddStringToControl调用已修改的javascript函数交换,该函数将值写入HiddenField或其他输入控件。然后更新服务器端单击处理程序以访问该字段。

备注:使用javascript写入HiddenField等服务器端控件时,请不要忘记使用<%= yourHiddenField.ClientID %>来获取正确的控件名称。