Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AJAX调用中访问外部C#类中的WebMethod_C#_Ajax_Class_Url_Webmethod - Fatal编程技术网

在AJAX调用中访问外部C#类中的WebMethod

在AJAX调用中访问外部C#类中的WebMethod,c#,ajax,class,url,webmethod,C#,Ajax,Class,Url,Webmethod,我想知道我们应该在AJAX上使用什么url来调用外部C#类中的WebMethod 要通过AJAX在页面代码背后调用[WebMethod],我们使用: url: 'default.aspx/Method' 但是我无法访问MyClass.cs(位于/foo/)中的[WebMethod] 例如,这些都不起作用: url: 'default.aspx/MyClass.Method' url: 'foo/MyClass.cs/Method' 如何访问外部C#类文件上的WebMethod?您需要添加一个

我想知道我们应该在AJAX上使用什么url来调用外部C#类中的WebMethod

要通过AJAX在页面代码背后调用
[WebMethod]
,我们使用:

url: 'default.aspx/Method'
但是我无法访问MyClass.cs(位于/foo/)中的
[WebMethod]

例如,这些都不起作用:

url: 'default.aspx/MyClass.Method'
url: 'foo/MyClass.cs/Method'

如何访问外部C#类文件上的WebMethod?

您需要添加一个可访问web的文件来与外部类交互,以便通过AJAX调用访问它们。您可以使用类似于asmx(ASP.Net web服务)的东西来公开webmethods。该文件基本上只是指向类文件的标记占位符。内容仅限于:

<%@ WebService Language="C#" CodeBehind="~/foo/MyClass.cs" Class="MyClass" %>

然后您的类必须继承自
System.Web.Services.WebService
,您应该是优秀的


如果您从Visual Studio中添加文件并添加web服务文件,则可以获得该文件来为您创建所有这些。

通过VS添加web服务会使asmx.cs包含更多内容。那么这个asmx应该包含WebMethods或者指向类中方法的WebMethods?您的解决方案是创建一个空的.asmx并粘贴该行?根据您的建议,我应该使用什么AJAX url来访问该方法?手动添加一个文件以指向您的类,或者执行您所做的操作。理想情况下,您应该将业务逻辑保留在类文件中,并使用asmx通过webmethod公开逻辑,即使webmethod函数只是
返回MyClass.SomeFunction()
。访问它就像访问aspx一样。将ajax调用的url设置为
YourWebService.asmx/YourWebMethod