Ich habe eine partielle Ansicht, die eine Ajax.BeginForm, mit einer UpdateTargetID festgelegt hat. Wenn die Validierung auf dem Formular fehlschlägt, wird die Update-Target-ID durch die Validierungsfehler ersetzt, aber wenn es keine Validierungsfehler gibt, sollten Benutzer auf eine neue Seite umgeleitet werden.
Der Code in meiner partiellen Ansicht lautet
<div id="div_UID">
<% using (Ajax.BeginForm("FindChildByUID", new AjaxOptions { UpdateTargetId = "div_UID" } ))
{%>
<p>
<label>UID:</label>
<%= Html.TextBox("UID") %>
</p>
<input type="submit" value="Continue" />
<% } %>
</div>
</pre>
Der Code in meinem Controller sieht wie folgt aus
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FindChildByUID(Student student)
{
Student matchingStudent = _studentService.FindChildByUID(student.UID);
if (matchingStudent == null)
{
ModelState.AddModelError("UID", String.Format("No matching child found for the entered UID: {0}", student.UID));
return PartialView();
}
else
{
// full view
return RedirectToAction("ConfirmChildDetails", matchingStudent);
}
}
Also, für ich habe nicht erfolgreich gewesen, um die vollständige Ansicht auf es selbst anzuzeigen, da es immer scheint, die vollständige Ansicht in der UpdateTargetID divfied in der Ajax.BeginForm dipslay.
Irgendwelche Vorschläge, wie ich das zum Laufen bringen kann?
Merci