从JavaScript WebMethod中访问单独的c#文件
Accessing Separate C# file from JavaScript WebMethod
如果我在默认的aspx.cs文件中有c# [WebMethod]代码,我可以让它工作,但我不能让它为单独的c#文件工作,我得到一个"webmethods未定义"。
我将脚本管理器设置为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
继承,因为它在默认的cs文件中工作,但这仍然没有害处。
Thanks in advance
WebMethod属性只允许一个方法在两个位置被指定时可以从客户端调用:ASPX代码文件和ASMX web服务代码文件。其他任何地方都不会有任何影响。
在ASPX页面上,它意味着定义只适用于给定页面的web可访问方法。在ASMX web服务中,它意味着将类似的功能聚集在一起,并使其可被所有页面访问。(从概念上讲,一旦定义了端点,只要知道url在哪里,就可以从客户端执行任何操作。)
如果您想为所有AJAX服务器端调用创建一个单独的类,请向您的项目添加一个ASMX Web服务并调用它。你可以看看这篇文章:从Javascript调用ASMX Web服务获得更多信息。
从System.Web.UI.Page继承不工作的原因是因为你需要在ASP. js之前有一个ASPX声明性页面指向给定的page派生类。. NET知道如何将web请求路由到它。
相关文章:
- 从单独的html文件预览Javascript文本
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- jQueryAjax调用在单独的.js文件中不起作用
- Bootstrap CSS和JS我必须将它们包含在单独的文件中,或者可以编译它们
- 正在将Visual Studio 2012 JavaScript Intellisense标记移动到单独的文件
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- google.setOnLoadCallback()在单独的JS文件中不起作用
- 单独的文件(HTML5、CSS和JS)
- Angular/Ionic:将所有文本保存在一个单独的文件中
- 将路由器配置放在Aurelia中的一个单独文件中
- 将另一个文件中的对象添加到单独文件中的阵列中
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 在AJAX成功响应中执行Javascript代码(在单独的文件中)
- 使用AJAX在单独的文件中调用php函数
- 是否可以将此javascript代码(或其中的一部分)移动到单独的文件中,而不是内联
- JavaScript 无法从单独的文件工作
- 将 JavaScript 代码放在单独的文件中是行不通的
- 如何在单独的文件中调用函数 js.
- 如何在单独的文件中使用自定义Vtype,以便在EXT.JS中全局使用它们
- 用js调用php, js在get请求时停止,两个文件单独工作