我有一個部分視圖,它具有一個Ajax.BeginForm,並帶有UpdateTargetID集。當表單上的驗證失敗時,更新目標標識將被替換爲驗證錯誤,但當沒有驗證錯誤時,應將用戶重定向到新頁面。如何使用Ajax.BeginForm呈現完整視圖
在我的局部視圖的代碼是
<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中查看完整視圖。
關於如何讓這個工作的任何建議?
感謝
非常感謝您的回覆。我不確定的一件事是如何爲Controller操作中的responseText參數傳遞一個值。如果你能爲我提供一個如何做到這一點的例子,那將是非常棒的。 – bhiku 2010-02-04 09:53:31