none
asp.net webService webMethod + ScriptMethod RRS feed

  • Вопрос

  • Есть простой веб-метод, который возвращает json

    public class MyData
    {
    	public int? Id { get; set; }
    }
    
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {
    
    	[WebMethod]
    	public string HelloWorld()
    	{
    		return "Hello World";
    	}
    
    	[WebMethod]
    	[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    	public MyData GetData(string arg)
    	{
    		return new MyData();
    	}
    }

    И обращение к нему

    var xhr = new XMLHttpRequest();
    xhr.open("POST", "WebService1.asmx/GetData");
    xhr.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
    xhr.onreadystatechange = function ()
    {
    	if (xhr.readyState == 4 && xhr.status == 200)
    		console.log(xhr.responseText);
    }
    xhr.send(JSON.stringify({ arg: "test" }));

    В результате я получаю ответ:

    {"d":{"__type":"MvcApplication1.MyData","Id":null}}

    Вопрос: как сделать так, чтобы в json-ответе не приходили пустые (==null) поля?


    • Изменено kidar2 11 февраля 2013 г. 2:15 уточнил формулировку вопроса
    11 февраля 2013 г. 2:15

Ответы

Все ответы