【发布时间】:2010-08-17 21:49:53
【问题描述】:
我有一个 asp 按钮(代码如下)。我有事件处理程序工作,但我想将一个字符串(它是 javascript 函数的结果)传递给事件处理程序函数。有没有办法做到这一点?
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
【问题讨论】:
标签: c# javascript asp.net button
我有一个 asp 按钮(代码如下)。我有事件处理程序工作,但我想将一个字符串(它是 javascript 函数的结果)传递给事件处理程序函数。有没有办法做到这一点?
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Run" />
【问题讨论】:
标签: c# javascript asp.net button
通常,您执行此操作的方式是让您通过 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 %> 来获取正确的控件名称。
【讨论】:
不是你问的那样……但是……
您可以添加一个 ASP:HiddenField,并使用 Javascript 将 HiddenField 的值修改为您的字符串。然后你可以在你的按钮点击事件中访问它。
可以在here找到一个例子。
【讨论】: