我有一个asp按钮(代码如下)。我有事件处理程序工作,但我想将一个字符串(这是一个javascript函数的结果)传递给事件处理函数。有没有办法做到这一点?
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
答案 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 %>
来获取正确的控件名称。