C# ASP NET MVC 5.0 Postback переходит к Html.RenderPartial() при ошибке проверки модели представления

У меня неожиданное сообщение о действии Html.RenderPartial(), когда главная страница не проходит проверку данных модели. Если при проверке модели нет ошибок, страница отправляется обратно к ожидаемому действию контроллера. Кто-нибудь сталкивался с этим и какое решение они использовали?

Дальнейшее объяснение:

У меня есть MVC .cshtml представление, которое имеет настройку обратной записи следующим образом:

@using (Html.BeginForm("Profile", "User", FormMethod.Post))
{
    // html code and stuff..

    @{ Html.RenderAction("ImageUpload", "User"); }
    <input type="submit" value="Save" />
}

Когда я нажимаю кнопку "Сохранить", страница должна вернуться User/Profile как настройка в Html.BeginForm метод: @using (Html.BeginForm("Profile", "User", FormMethod.Post)),

Страница работает, как и ожидалось, когда я делаю сообщение назад, и при проверке модели нет ошибок... она отправляет сообщения User/Profile как и ожидалось.

Однако при возникновении ошибки проверки с моделью основного вида страница отправляется обратно в Html.RederPartial действие: @{ Html.RenderAction("ImageUpload", "User"); }, Другими словами, вместо публикации User/Profile как и положено User/ImageUpload,

SNAPSHOT OF VIEWMODEL (модель предоставлена ​​пользователю / профилю)

[Required]
[StringLength(1000, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 20)]
[DataType(DataType.Text)]
[Display(Name = "About Me* (Write up to 1000 characters about yourself)")]
public virtual string Summary { get; set; }

public ActionResult Profile(UserModel userModel)
{
    if (ModelState.IsValid)
    {
      //DO STUFF
    }

    // If we got this far, something failed, redisplay form
    return View(userModel);
}

Если пользователь не соответствует проверке модели, введя менее 20 символов в Summary свойство (параметр проверки минимальной длины) сообщение возвращается к Html.RenderPartial() скорее, чем ожидалось Html.BeginForm("Profile", "User", FormMethod.Post),

Кто-нибудь сталкивался с этим раньше и какие-нибудь идеи о том, как решить?

0 ответов

Другие вопросы по тегам