[asp.net]在代码隐藏内部调用 Web 方法

发布时间: 2017/3/26 2:53:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我需要调用 Web 方法里面我代码隐藏文件中使用 jquery ajax 和也使用香草javascript

我可以做这与 asp.net PageMethods ,也可以用 asp.net MVC (调用控制器方法) 做。

Page Methods 是这样的

 PageMethods.MethodName(...);

我知道如何调用方法 WCF serviceWebService 还要内 aspx.cs 文件从调用方法, javascriptJquery

怎么可以这样?

我用过 [WebMethod]Web Method 这一成不变,而是它不工作。我需要两个 GetPost 的解决方案

解决方法 1:

正如你指出,你需要用装饰的静态方法 [WebMethod] 属性。 它已经一段时间,但这里是我在旧的项目使用一些代码示例︰

$.ajax({
    type: "POST",
    url: "AjaxBridge.aspx/GetPatientInfo",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{'personID':'" + personID + "'}",
    success: function (data) {
    }
});

我们有一个专门的页面称为 AjaxBridge.aspx,不执行任何操作,但处理 ajax 调用像这样 (个人我不喜欢这个设计)。 你可以他们直接嵌入您的当前页或用户控件,太。 只是一定要引用,或者相对于当前页的正确路径或绝对路径。

获取调用实际的服务代码看起来像这样︰

[WebMethod]
public static PersonItem GetPatientInfo(int personID)
{
    ...
}

为了支持 HTTP GET 你可能需要将以下属性添加到您的服务方法︰

[ScriptMethod (UseHttpGet = true)]

当然,将 ajax jquery 方法类型更改为 GET 和

赞助商