是否有可能在javascript中调用asp.net'OnClicked'回调来调用Web控件中的函数?

问题描述:

看起来好像不可能,因为回调函数似乎是页面特定的,但如果可能的话我想这样做。是否有可能在javascript中调用asp.net'OnClicked'回调来调用Web控件中的函数?

可以调用标有使用ASP.NET AjaxWebMethod属性static页方法,如果你配置ScriptManager这样做:

<form id="form" runat="server"> 
    <asp:ScriptManager ID="ScriptManager" runat="server" 
     EnablePageMethods="true" /> 
    . 
    . 
    . 
</form> 

[WebMethod] 
public static int Foo(string bar) 
{ 
    return 42; 
} 

然后在您的客户端代码:

function callFoo(bar) 
{ 
    return PageMethods.Foo(bar); 
} 

你可以也做同样的with jQuery

function callFoo(bar) 
{ 
    $.ajax({ 
     type: "POST", 
     url: "YourPage.aspx/Foo", 
     data: { 
      "bar": bar 
     }, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(message) { 
      // Do something. 
     } 
    }); 
}