从JavaScript调用ASP.NET代码隐藏function

是否可以从JavaScript调用ASP.NET代码隐藏函数。

是的,你可以使网络方法像..

 _ Public Shared Function updateContent() As String Return "Your String" End Function 

然后在javascript中调用..

 PageMethods.updateTabContent(parameterValueIfAny, onSuccessMethod,onFailMethod); 

这也需要补充

   

我更喜欢Muhammad Akhtar PageMethod方法。 只需简短说明:您不需要脚本管理器。 scriptmanager只为您生成javascript代理方法。 如果您的页面上已经有JQuery,那么您可以忘记脚本管理器并在页面上写下这样的内容:

  

这假设您在页面上有ID AjaxLink的链接以及带有显示结果的id内容的div。 好处是你可以通过scriptmanager在jquery和注入的脚本之间保存30kb的javascript

csfunction

 [System.Web.Services.WebMethod] public static string set_single_amount(arg a1) { return value; } 

在脚本cs fucnction中使用scriptmanager进行调用

 $("#control").click(function() { PageMethods.set_single_amount(value,afercalling) }); function afercalling(result) { alert(result); } 

不,不可能直接从Javascript调用ASP.NET代码函数。 ASP.NET代码隐藏在ASP.NET工作进程的上下文中在服务器上执行。 Javascript在客户端浏览器的上下文中在客户端上执行。

Javascript可以触发执行ASP.NET代码的唯一方法是通过从Javascript到服务器进行AJAX调用。

您可以使用__doPostBack从javascript进行回发。 只需添加具有AutoPostBack属性的服务器控件并将其设置为true。

请参阅在javascript中调用__doPostBack

如果您正在处理非Ajax项目,则可以尝试使用System.Web.UI.ICallbackEventHandler。

样品在这里:

http://msdn.microsoft.com/en-us/library/ms178210.aspx

http://www.ajaxmatters.com/2006/05/using-icallbackeventhandler-in-asp-net/