MVC Html.ValidationMessage не запускается при обновлении - PullRequest
1 голос
/ 19 июня 2009

У меня проблема с тем, что мои сообщения проверки корректно отображаются при операции добавления, но когда дело доходит до страницы обновления, сообщения проверки не отображаются:

Это мое действие, IsValid отображается как false, и действие перенаправляется в представление редактирования, но ни одно из сообщений проверки не отображается. Что-то не так в моем подходе?

   [Authorize]
    public ActionResult UpdateCar(CarDTO car)
    {
        try
        {
            _carTask.Update(car); //required Name field not set
        }
        catch (RulesException ex)
        {
            ex.AddModelStateErrors(ModelState, null);
        }

        if (!ModelState.IsValid)
        {
            return RedirectToAction(ViewNames.EditCar, new {carKey = car.carKey});
        }
        return RedirectToAction(ViewNames.Home, new {carKey =   car.carKey});
    }


 <li>
    <label for="Name">Car Name:</label>
    <%= Html.TextBoxFor(x => x.Name, new { watermark="Car Name" })%>
      <br />
       <%= Html.ValidationMessage("Name") %>
 </li>

1 Ответ

2 голосов
/ 19 июня 2009

Если форма недействительна, вы перенаправляете на новую страницу, которая теряет все установленные вами значения модальной ошибки. Вместо этого просто верните вид. Не проверял синтаксис, но что-то вроде ниже.

if (!ModelState.IsValid)
{
    return View(ViewNames.EditCar, new {carKey = car.carKey});
}

return RedirectToAction(ViewNames.Home, new {carKey =   car.carKey});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...