使用jQuery进行ASP.NET回发?

mar*_*ith 15 asp.net jquery user-interface postback modal-dialog

我有一个ASP.NET按钮,但最近,我用一个标准的HTML按钮替换它...我需要做的是回发到ASP.NET页面并确保调用一个方法.

上一个按钮是一个ASP.NET按钮,所以我有这个事件:

Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    UtilTMP.DisposeObjects()
    Server.Transfer("~\Forms\test.aspx", True)
End 
Run Code Online (Sandbox Code Playgroud)

但是我使用了一个带有JavaScript ALERT的按钮,我最近更改为jQuery UI模式对话框,但它并没有等我回答这个问题..回发立即发生...所以我决定改为标准HTML按钮...但我需要回发到ASP.NET页面并调用类似的方法.

如果我只回发它就不会调用清理

Protected Sub Cleanup()
    UtilTMP.DisposeObjects()
    Server.Transfer("~\Forms\test.aspx", True)
End 
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 16

看看这是否有帮助:http://www.codeproject.com/KB/aspnet/sample.aspx.

基本上,您声明一个虚拟锚标记:

<a id="anchorId" runat="server" onclick="return true" onserverclick="foo"></a> 
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您需要声明一个foo方法:

protected void foo(object sender, EventArgs e)
{
    // Do something here
}
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这个javascript来调用这个锚点的onclick函数:

document.getElementById('anchorId').click()
Run Code Online (Sandbox Code Playgroud)


Chr*_*sma 6

虽然您可以使用JQuery进行回发,但调用Web方法(页面中的Web服务)可能更好.调用也可能更快,因为您没有发布整个页面ViewState.

  • 这将有效,但有一种方法可以使用回发来执行此操作,因此您不必声明Web服务方法. (4认同)