【问题标题】:Passing parameters into a ASP.Net Button control when clicked单击时将参数传递到 ASP.Net Button 控件
【发布时间】:2010-08-17 21:49:53
【问题描述】:

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

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

【问题讨论】:

    标签: c# javascript asp.net button


    【解决方案1】:

    通常,您执行此操作的方式是让您通过 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,不要忘记使用&lt;%= yourHiddenField.ClientID %&gt; 来获取正确的控件名称。

    【讨论】:

      【解决方案2】:

      不是你问的那样……但是……

      您可以添加一个 ASP:HiddenField,并使用 Javascript 将 HiddenField 的值修改为您的字符串。然后你可以在你的按钮点击事件中访问它。

      可以在here找到一个例子。

      【讨论】:

      • 有没有办法在按下按钮时运行javascript函数?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 2011-01-04
      • 2022-07-12
      • 2018-12-15
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      相关资源
      最近更新 更多