我有一个asp按钮(代码如下)。我有事件处理程序工作,但我想传递一个字符串(这是一个JavaScript函数的结果)到事件处理函数。有没有办法做到这一点?点击时将参数传递给ASP.Net按钮控件
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
我有一个asp按钮(代码如下)。我有事件处理程序工作,但我想传递一个字符串(这是一个JavaScript函数的结果)到事件处理函数。有没有办法做到这一点?点击时将参数传递给ASP.Net按钮控件
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
通常情况下,您会这样做的方式是让您的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 %>
来获取正确的控件名称。
不碍事,你问。不过......
您可以添加一个ASP:HiddenField,并使用JavaScript来修改HiddenField的值是您的字符串。然后你可以在你的Button Click事件中访问它。
可以找到一个例子here。
有没有办法在按下按钮时运行javascript函数? – jamesatha 2010-08-17 21:52:49
是的,请看这里:http://msdn.microsoft.com/en-us/library/aa479011.aspx – David 2010-08-17 21:56:13