【问题标题】:Asp.net Web Method Returns JSONAsp.net Web 方法返回 JSON
【发布时间】:2016-01-18 14:41:54
【问题描述】:

我需要创建一个 WebMethod,以 JSON 格式返回我的成员数据库值。我尝试了类似的方法,但实际上失败了。

  [WebMethod(EnableSession = false)]
public static UYELER handleAjaxRequest(string mailX, string passwordX)
{
    DataSet dsX = ReadSql("select top 3 * from fuyeler ");
    for (int i = 0; i < dsX.Tables[0].Rows.Count; i++)
    {
        mailX = dsX.Tables[0].Rows[i]["stMail"].ToString();
        passwordX = dsX.Tables[0].Rows[i]["stPass"].ToString();
    }
    return new UYELER
    {
        mail = mailX,
        password = passwordX,
    };

}

public class UYELER
{
    public int ID { get; set; }
    public string mail { get; set; }
    public string password { get; set; }
}

Readsql 是我的快速 sql 连接类。

【问题讨论】:

    标签: json


    【解决方案1】:

    您可以通过清除 Page_Load 中的正常输出并返回您自己的输出来从 Asp.Net 方法返回 Json。见this StackOverflow answer...

    要将 C# 对象转换为 JSON,您可以使用 Json.NET 等库。

    【讨论】:

    • 我猜这看起来不错。它返回 json 数据。另一个json返回的东西是一样的吗?像全局 asax 或 ashx 文件或 mvc 的 json 返回?与其他的相比,这个看起来很容易。
    【解决方案2】:

    方法一:

    将此添加到您在 Global.asax 页面中的Application_Start

        protected void Application_Start()
        {
            var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
            json.UseDataContractJsonSerializer = true;
    
            //....
        }
    

    方法二

    您也可以使用 ResponseFormat 设置 JSON 来装饰您的方法

    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod(EnableSession = false)]
    public static UYELER handleAjaxRequest(string mailX, string passwordX)
    {
        DataSet dsX = ReadSql("select top 3 * from fuyeler ");
        for (int i = 0; i < dsX.Tables[0].Rows.Count; i++)
        {
            mailX = dsX.Tables[0].Rows[i]["stMail"].ToString();
            passwordX = dsX.Tables[0].Rows[i]["stPass"].ToString();
        }
        return new UYELER
        {
            mail = mailX,
            password = passwordX,
        };
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 2013-06-29
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 2011-07-18
      相关资源
      最近更新 更多