如何在asp.net中从webmethod配置和启用xml返回类型

时间:2018-05-08 17:28:04

标签: asp.net webmethod

我认为这可能是配置问题,但我无法弄清楚为什么我能够从ajax进行调用,如果contentType是“Json”但是如果我将其更改为xml则不会调用该webmethod。有人可以帮忙吗

以下代码无效。

在JavaScript中

$.ajax({
        type: "POST",
        dataType: "xml",
        contentType: "application/xml; charset=utf-8",
        url: "Test.aspx/GenerateXML",
        success: function (result) {
            alert(result)
        },
        error: function (error, e1, e2) {
            alert(error);
        }
    });    

在aspx.cs页面中的C#

[WebMethod]    
[ScriptMethod(ResponseFormat = ResponseFormat.Xml, UseHttpGet = false, XmlSerializeString = true)]
    public static DataTable GenerateXML()
    {
        TestCalculator testCalculator = new TestCalculator();

        DataTable dataTable = new DataTable();

        dataTable = testCalculator.GetValue("Test");

         return dataTable;
    }

工作代码 在JavaScript中

 $.ajax({
        type: "POST",
        dataType: "Json",
        contentType: "application/Json; charset=utf-8",
        url: "Test.aspx/GenerateXML",
        success: function (result) {
            alert(result)
        },
        error: function (error, e1, e2) {
            alert(error);
        }
    });   

C#代码

[WebMethod]    
    public static DataTable GenerateXML()
    {
        TestCalculator testCalculator = new TestCalculator();

        DataTable dataTable = new DataTable();

        dataTable = testCalculator.GetValue("Test");

         return dataTable;
    }

enter image description here

0 个答案:

没有答案