jQUery ajax 调用 asp.net webForms 返回 html 页面,而不是调用 url 中的指定方法

本文关键字:调用 url 方法 net asp ajax webForms 返回 页面 html jQUery | 更新日期: 2023-09-27 18:34:27

嗨,我对 asp.net 网络表单的经验很少,但我遇到的情况是,每次启动应用程序或更改页面时,我都必须在服务器上执行 ajax 调用。

考虑到这一点,我在MasterPage.Master文件中添加了此方法:

 [WebMethod]
 public static void DeleteUnpostedDocumentsFromFileShare()
 {
     var ceva = "I was called";
 }

并为其添加了一个制动器,以便我可以看到何时调用它。

这是我正在创建的 ajax 调用:

$(document).ready(function() {
$.ajax({
    type: "POST",
    url: "/Masterpage.Master/DeleteUnpostedDocumentsFromFileShare",
    contentType: "application/json; charset=utf-8",
    success: function(data) {
        alert(data);
    },
    error : function(data , data2 , data3) {
        alert(data);
    }
});

})

问题是此调用返回 html 页面的内容,而不是调用我需要的方法。

谁能告诉我我做错了什么?

jQUery ajax 调用 asp.net webForms 返回 html 页面,而不是调用 url 中的指定方法

我认为您错过了从您的网络方法向 json 返回值

    [WebMethod]
    public static string DeleteUnpostedDocumentsFromFileShare()
    {
        var ceva = "I was called";
        return ceva;
    }

在 asp.net 中调用 Webmethod with json

我建议你将ajax方法编写到masterPage以外的其他aspx页面,并从该页面中删除html内容。该页面仅用于编写要通过 ajax 调用的 Web 方法。所以你的 ajax Web 方法页面必须只有页面指令,没有其他任何指令。

这是另一种完全 asp.net 方式调用 web 方法的方法,无需使用 jquery

通过 Javascript 调用 C# 函数(不带 Json)

希望这有帮助