每个页面都需要调用一个函数,这个函数是一个Web方法。它现在在Roor.Master页面中,如何使用AJAX从所有页面调用它。因为有许多页面创建相同的函数,或者一个函数依次调用这个函数是很繁琐的。
发布于 2019-05-02 06:29:46
如果您具有大多数或所有WebForms共享的公共功能,则始终可以创建一个从Page
继承的基页类。然后,从基类派生的所有其他页面都将包含该方法:
public class MyBasePage : Page
{
[WebMethod]
public static void DoStuff()
{
//Do your work here
}
}
不,当您需要该方法时,您可以从MyBasePage
而不是Page
继承您的aspx webform
public partial class Foo : MyBasePage
{
/*...*/
}
由于您还可以在同一项目中同时使用WebApi、MVC和WebForms,如果您不需要访问webforms特定元素,例如定义您的基页或母版页的变量,那么通过一个简单的ApiController公开此功能也是可行的。
发布于 2019-05-02 06:23:00
在页面呈现后,页面方法不存在物理存在。因此,jquery ajax调用不可能在母版页中调用页面方法。但对我来说,下面的代码看起来令人印象深刻。
http://weblogs.asp.net/yonggangmeng/archive/2008/11/13/how-to-invoke-pagemethods-in-masterpage.aspx
https://stackoverflow.com/questions/55946168
复制