вернуть bool с asp.net mvc actionresult - PullRequest
44 голосов
/ 03 марта 2010

Я отправил форму через jquery, но мне нужно ActionResult , чтобы вернуть true или false.

это код, который для метода контроллера:

    [HttpPost]
    public ActionResult SetSchedule(FormCollection collection)
    {
        try
        {
            // TODO: Add update logic here

            return true; //cannot convert bool to actionresult
        }
        catch
        {
            return false; //cannot convert bool to actionresult
        }
    }

Как мне спроектировать мой вызов JQuery для передачи данных формы, а также для проверки, является ли возвращаемое значение истинным или ложным. Как мне отредактировать приведенный выше код, чтобы он возвращал значение true или false?

Ответы [ 3 ]

76 голосов
/ 04 марта 2010

Вы можете вернуть результат json в форме bool или со свойством bool. Примерно так:

[HttpPost]
public ActionResult SetSchedule(FormCollection collection)
{
    try
    {
        // TODO: Add update logic here

        return Json(true);
    }
    catch
    {
        return Json(false);
    }
}
4 голосов
/ 04 марта 2010

ИМХО, вы должны использовать JsonResult вместо ActionResult (для удобства сопровождения кода).

Для обработки ответа на стороне Jquery:

$.getJSON(
 '/MyDear/Action',
 { 
   MyFormParam: $('MyParamSelector').val(),
   AnotherFormParam: $('AnotherParamSelector').val(),
 },
 function(data) {
   if (data) {
     // Do this please...
   }
 });

Надеюсь, это поможет:)

2 голосов
/ 11 декабря 2012

Как насчет этого:

[HttpPost]
public bool SetSchedule(FormCollection collection)
{
    try
    {
        // TODO: Add update logic here

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