Избегайте возврата нулей в JSON для вызовов AJAX - PullRequest
1 голос
/ 20 февраля 2012

У меня есть следующий метод:

[HttpPost]
[AjaxOnly]
public JsonResult ValidateInput(string text)
{
    return new EmptyJsonResult();
}

/// <summary>
/// returns a JSON result that is marked as being empty.
/// </summary>
public sealed class EmptyJsonResult : JsonResult
{
    public EmptyJsonResult()
    {
        Data = new JsonResultData
        {
            Empty = true
        };
    }
}

public class JsonResultData
{
    public bool Empty { get; set; }
    public string[] Errors { get; set; }
}

Я ожидал, что это вернет браузер {"Empty":true}, но вместо этого он вернет {"Empty":true,"Errors":null}.

Есть ли какой-либо атрибут или что-то, что я могу установить, чтобы избежать возврата нулей на объекты, которые я не заполнял?

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Имеет ли для вас какое-то значение, если вы просто возвращаете объект anon?

    public EmptyJsonResult()
    {
    Data = new
        {
            Empty = true
        };
    }
0 голосов
/ 20 февраля 2012

Я не вижу проблемы с возвратом нулевого значения, но если вам нужно достичь своей цели, используйте интерфейс с именем JsonResultData и два класса, которые его реализуют.Один имеет все атрибуты, которые вам нужно вернуть, а второй содержит только пустой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...