2010-08-17 96 views
0

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

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

回答

2

通常情况下,您会这样做的方式是让您的javascript修改输入控件,以便将值返回Button点击。如果您希望用户在视觉上无法看到JavaScript正在修改的数据以便回发,那么您可以将其写入HiddenField

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

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

所以你只需要呼叫交换到YourFunctionToAddStringToControl用修改被写入值到HiddenField或其他输入控制javascript函数。然后更新您的服务器端点击处理程序以访问该字段。

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

2

不碍事,你问。不过......

您可以添加一个ASP:HiddenField,并使用JavaScript来修改HiddenField的值是您的字符串。然后你可以在你的Button Click事件中访问它。

可以找到一个例子here

+0

有没有办法在按下按钮时运行javascript函数? – jamesatha 2010-08-17 21:52:49

+0

是的,请看这里:http://msdn.microsoft.com/en-us/library/aa479011.aspx – David 2010-08-17 21:56:13

相关问题