如何从ASP.NET中的JavaScript触发按钮单击事件

Ven*_*nky 36 javascript c# asp.net

如何从JavaScript触发服务器端按钮单击事件?

我试过这样的:

document.getElementById("<%= ButtonID.ClientID %>").click();
Run Code Online (Sandbox Code Playgroud)

但没用.我该怎么做?

Eni*_*ate 43

您可以将此行放在JavaScript函数中:

__doPostBack('btnSubmit','OnClick');
Run Code Online (Sandbox Code Playgroud)

或者做这样的事情:

$('#btnSubmit').trigger('click');
Run Code Online (Sandbox Code Playgroud)

  • @pratapk你可以更新那个评论链接(也许添加回答)我感兴趣并且它已经死了. (3认同)

Seb*_*563 19

var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
Run Code Online (Sandbox Code Playgroud)

该解决方案适用于我,但请记住,如果你的asp按钮有效,它将不起作用

可见="假"

要隐藏应该使用该脚本触发的按钮,您应该隐藏它 <div hidden></div>

  • 真的很感激,没有人提到任何上述内容在Visible ='False'中不起作用.<div hidden> </ div>对我很有用.干杯..:) (2认同)

小智 15

我使用下面的JavaScript代码,它的工作原理......

var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
Run Code Online (Sandbox Code Playgroud)

  • 它不适合我.页面刷新,但代码永远不会运行代码 (2认同)

Ami*_*ble 5

这里发布的解决方案都不适合我,这是我最终解决问题的方法.

// In Server Side code
protected void Page_Load(object sender, EventArgs e)
{
    Page.GetPostBackEventReference(hiddenButton);
}

// Javascript
function SetSaved() {
    __doPostBack("<%= hiddenButton.UniqueID %>", "OnClick");
}

// ASP
 <asp:Button ID="hiddenButton" runat="server" OnClick="btnSaveGroup_Click" Visible="false"/>
Run Code Online (Sandbox Code Playgroud)

  • 回顾一下 - 我们真正需要做的是使用Ajax调用服务器端函数而不是依赖WebForms. (2认同)

Boo*_*mer 0

您可以从 JavaScript 代码填充隐藏字段并从 JavaScript 执行显式回发。然后从服务器端检查隐藏字段并执行任何必要的操作。