MVC2: проверить PartialView перед отправкой формы страницы, содержащей частичное представление - PullRequest
1 голос
/ 13 мая 2010

Я использую asp.net mvc2 и имею базовую страницу, включающую частичное представление в форме

<% using (Html.BeginForm())
   { %>
<% Html.RenderAction("partialViewActionName", "Controllername"); %>

<input type="submit" value="Weiter" />

<% } %>

Когда я отправляю форму, вызывается действие httpPost моей страницы и ПОСЛЕ того, что действие httpPost моего частичного вида называется

[HttpPost]
public virtual ActionResult PagePostMethod(myModel model)
{
    // here I should know about the validation of my partial View
    // If partialView.ModelState is valid then
    //   return View("success");
    // else return View(model)
}

[HttpPost]
public virtual ActionResult partialViewActionName(myModel model)
{
    ModelState.AddModelError("Error");
    return View(model);
}

Но поскольку я выполняю проверку в методе httpPost моего частичного просмотра (поскольку я хочу использовать свой частичный просмотр в нескольких местах), я не могу решить, действительна ли моя дырочная страница.

У кого-нибудь есть идея, как я могу это сделать? Не является общей задачей иметь несколько частичных просмотров на странице но есть ли информация о проверке в методах действия страницы?

Большое спасибо за вашу помощь !!

1 Ответ

1 голос
/ 13 мая 2010

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

...