我有一个局部视图,它有一个 Ajax.BeginForm,并设置了一个 UpdateTargetID。当表单上的验证失败时,更新目标 id 将替换为验证错误,但当没有验证错误时,用户应该被重定向到新页面。
我的部分视图中的代码是
<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>
我的控制器中的代码如下
[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);
}
}
因此,因为我无法单独显示完整视图,因为它似乎总是在 Ajax.BeginForm 中指定的 UpdateTargetID div 中显示完整视图。
关于如何让它发挥作用的任何建议?
谢谢