J'ai une vue et une vue partielle. La mise en page pour la vue est quelque chose comme ceci:ASP.NET MVC3 Vue partielle sur HTTPPost
<html>
...
<div id="MainView">@RenderBody()</div>
<!--Partial View-->
<div id="partialView">@Html.Action("PartialViewForm", "Main")</div>
...
</html>
Mon Vue partielle (nommé _Register) est quelque chose comme ceci:
@model PartialViewModel
<div id="form">
@using (Html.BeginForm("PartialViewForm", "Main", FormMethod.Post))
{
@Html.ValidationSummary(true)
<table >
<tbody>
<tr>
<td align="left">@Html.LabelFor(model => model.Name)*</td>
<td>@Html.EditorFor(model => model.Name)</td>
<td align="left">@Html.ValidationMessageFor(model => model.Name, "")</td>
</tr>
<tr>
<td align="left"><input type="submit" value="Go" class="submit2"/></td>
</tr>
</tbody>
</table>
}
</div>
Dans mon MainController j'ai des méthodes comme celle-ci:
public class MainController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult PartialViewForm()
{
var partialViewModel= new PartialViewModel();
return PartialView("_Register", partialViewModel);
}
[HttpPost]
public ActionResult PartialViewForm(PartialViewModel partialViewModel)
{
// if Validation is not successfull
return PartialView("_Register", partialViewModel);
// else
....
}
}
C'est ce que je veux faire ... quand la validation échoue sur la vue partielle je veux revenir à la vue principale ... mais dans mon cas sur l'action de publication quand la validation échoue tout ce que je peux voir est le partialv iew ... il n'y a pas de contenu de la page principale. Il ya des messages sur le forum qui montrent le même genre de comportement, mais je ne suis pas en mesure de résoudre mon problème. Quelqu'un peut-il s'il vous plaît me dire comment fixer (il sera vraiment utile si vous pouvez modifier mon exemple et montrer)
Merci