【问题标题】:how to call a server-side ASP.NET event from the client-side如何从客户端调用服务器端 ASP.NET 事件
【发布时间】:2011-10-02 08:55:44
【问题描述】:

我在 gridview 页脚中有一个 asp.net 按钮,我想在客户端 (JavaScript) 中调用服务器端 ASP.NET 按钮事件。

如何做到这一点,如果可能,请编码详细信息。

我的 .aspx:

<FooterTemplate>
    <asp:ImageButton ID="ibtn_add" ImageUrl="~/Images/accord_plus.png" 
         runat="server" OnClick="ibtn_add_Click" />
</FooterTemplate>

我想知道如何在客户端调用ibtn_add_Click

在以下代码中:

var isShift = false;
document.onkeyup = function(e)
{ if (e.which == 16) isShift = false; }
document.onkeydown = function(e) {
    if (e.which == 16) isShift = true;
    if (e.which == 13 && isShift == true) {
        //Here I wanna to call ibtn_add_Click
        return false;
    }
}

注意:

更新面板中的gridview,我通过以下方式执行JavaScript:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/Scripts/Shortcut.js" />
    </Scripts>
</asp:ScriptManager>

【问题讨论】:

  • 问题出在哪里??如果你想调用函数ibtn_add_Click,那么就调用它ibtn_add_Click()
  • 或者你想触发onclick server handler?
  • 我认为,如果未真正执行单击,则调用服务器处理程序OnClick 不是一个好习惯。考虑发送 PostBack 或 Ajax 调用。
  • 请进一步澄清,更新面板中的网格视图,我执行以下操作:
  • &lt;asp:ScriptManager ID="ScriptManager1" runat="server"&gt; &lt;Scripts&gt; &lt;asp:ScriptReference Path="~/Scripts/Shortcut.js" /&gt; &lt;/Scripts&gt; &lt;/asp:ScriptManager&gt;

标签: c# javascript jquery asp.net ajax


【解决方案1】:

使用OnClientClick按钮的属性。

OnClientClick="ibtn_add_Click()"

MSDN

【讨论】:

  • 嗯,我想在我的 javascript 代码中的特定条件下调用它
  • 请解释一下你的“具体情况”
【解决方案2】:

我想你想要这样的东西......

if (e.which == 13 && isShift == true) 
{ 
    __doPostBack('ibtn_add','OnClick');
    return false; 
} 

【讨论】:

    【解决方案3】:

    您可以使用 ajax 并调用 web 服务或 web 方法,或者您可以使用,也可以使用

     __doPostBack(‘btntest','OnClick')
    

     $('btntest').trigger('click');
    

    查看此链接:http://codethatworkedforme.blogspot.com/2011/08/some-tricks-for-asynchronous-postback.html

    【讨论】:

      【解决方案4】:
       <asp:ImageButton ID="ibtn_add" ImageUrl="~/Images/accord_plus.png" runat="server" OnClick="ibtn_add_Click" />
      

      这是我遇到的问题,但我只用于OnClientClick

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        相关资源
        最近更新 更多