ASP.Net ScriptMethod生成空JSON

时间:2009-11-24 16:10:11

标签: c# asp.net json web-services responseformat

我正在使用JavaScript来访问名为GetPerson()的ScriptService方法。 问题是它返回一个相当空的JSON字符串而不是实际的对象字符串。 当我返回一个新的DateTime对象时会发生同样的情况,所以我希望这个类是不可能的。

返回:

{"d":{"__type":"Person"}}

这是我的WebService.cs:

using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.Script.Services;

/// <summary>
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebService : System.Web.Services.WebService
{
    public WebService () {
        //InitializeComponent(); 
    }

    [WebMethod]
    [ScriptMethod(ResponseFormat=ResponseFormat.Json)]
    public Person GetPerson(string whatever)
    {
        Person x = new Person("gaga",DateTime.Now,null);
        return x;

    }
}

1 个答案:

答案 0 :(得分:3)

事实证明,这确实是我的类文件的问题。使用公共财产可以更好地工作。

public string name { get; set; }

2小时的调试与Stackoverflow引发的灵感无关。 DOH。