/ / MVC2: convalida PartialView prima del modulo Invio di pagina contenente la vista parziale - convalida, asp.net-mvc-2, invio modulo, viste parziali

MVC2: convalida PartialView prima del modulo Invio di pagina contenente la vista parziale - convalida, asp.net-mvc-2, inoltro modulo, viste parziali

Sto usando asp.net mvc2 e ho una pagina di base che include una vista parziale all'interno di un modulo

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

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

<% } %>

Quando invio il modulo, viene richiamata l'azione httpPost della mia pagina e DOPO quella dell'azione httpPost della mia vista parziale è chiamato

[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);
}

Ma come sto facendo la convalida nel metodo httpPost della mia vista parziale (perché voglio usare la mia vista parziale in più posti) non posso decidere se la mia pagina foro è valida o meno.

Qualcuno ha un'idea su come potrei fare questo? Non è un compito comune avere diverse viste parziali in una pagina ma hai le informazioni sulla convalida nei metodi di azione della pagina?

Grazie mille per il tuo aiuto !!

risposte:

1 per risposta № 1

Il metodo di visualizzazione parziale verrà chiamato quando illa pagina viene visualizzata, non quando la pagina viene pubblicata. L'unica azione che verrà chiamata al termine del post è l'azione specificata in BeginForm. La convalida avverrà nel ModelBinder, presupponendo che tu stia utilizzando DataAnnotations per il tuo modello.Qualsiasi parte del tuo modello che è rappresentata dagli input nella vista parziale verrà convalidata insieme al resto del modello durante l'associazione. validazione manuale, quindi sarà necessario convalidare tutte le parti del modello nell'azione che viene invocata sul post.