ASP.NET MVC возвращает PartialViewResult - PullRequest
3 голосов
/ 24 мая 2011

Я сделал форму с @using(Ajax.BeginForm){}.Он отправляет метод в моем контроллере, который возвращает PartialViewResult.Он работает нормально, когда все верно, но что я должен вернуть, если это не так (например, состояние модели недействительно)? Как Ajax.BeginForm может управлять ошибкой?Что я возвращаю, чтобы управлять Отказом?

@using(Ajax.BeginForm("Create", "Room", new AjaxOptions { HttpMethod="POST",
UpdateTargetId="formRoom", InsertionMode= InsertionMode.Replace, onFailure =??})) {

public PartialViewResult Create(Movie mov)
{
        if (ModelState.IsValid)
        {
            db.Save(mov);
            return PartialView("CreateResult", mov);
        }
        return null;            
}

Спасибо!

Ответы [ 2 ]

3 голосов
/ 24 мая 2011

Вы можете вернуть другой вид.

например. return PartialView("MyErrorView");

1 голос
/ 24 мая 2011

Просто вернитесь Создать действие с моделью, чтобы отобразить ошибки (так же, как вы вернули на вашем get):

    [HttpPost]
    public PartialViewResult PartialCreate(Album album)
    {
        if (ModelState.IsValid)
        {
            db.Albums.Add(album);
            db.SaveChanges();
            return PartialView("Index");
        }

        ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
        ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
        return PartialView(album);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...