从JavaScript WebMethod访问单独的C#文件
如果我在默认的aspx.cs文件中有c#[WebMethod]代码,我可以让它工作,但是我不能让它在单独的c#文件中工作,因为我得到了一个“webmethods undefined” 我将脚本管理器设置为从JavaScript WebMethod访问单独的C#文件,javascript,c#,asp.net,webmethod,Javascript,C#,Asp.net,Webmethod,如果我在默认的aspx.cs文件中有c#[WebMethod]代码,我可以让它工作,但是我不能让它在单独的c#文件中工作,因为我得到了一个“webmethods undefined” 我将脚本管理器设置为EnablePageMehods=true 我单独的班级是这样的 public class TestClass { [WebMethod] public static string Test() { string a = "Hello Worlds";
EnablePageMehods=true
我单独的班级是这样的
public class TestClass
{
[WebMethod]
public static string Test()
{
string a = "Hello Worlds";
return a;
}
}
JS看起来像这样
function testwebmethod() {
PageMethods.Test(onSucceed, onError);
}
function onSucceed(result) {
alert(result);
}
function onError(result) {
}
我曾尝试从System.Web.UI.Page
中继承它,因为它在defualt cs文件中工作,但仍然没有avil
提前感谢WebMethod属性仅使在两个位置指定的方法可从客户端调用:ASPX代码隐藏文件和ASMXWeb服务代码隐藏文件。任何其他地方,它没有任何影响 在ASPX页面上,它旨在定义仅适用于给定页面的web可访问方法。在ASMXWeb服务上,它意味着将类似的功能集合在一起,并使所有页面都可以访问它。(从概念上讲,定义端点后,只要知道URL的位置,就可以从客户端执行任何操作..) 如果您想为所有AJAX服务器端调用创建一个单独的类,请向项目中添加一个ASMXWeb服务并调用它。你可以看看这篇文章:了解更多信息 从System.Web.UI.Page继承不起作用的原因是,在ASP.NET了解如何将Web请求路由到给定的页面派生类之前,需要有一个指向该类的ASPX声明性页面