【发布时间】:2010-04-13 20:35:16
【问题描述】:
我试图弄清楚如何在用户提交具有 UpdateTargetID 属性集的 Ajax 表单后显示验证错误。
我不知道如何在不将 Create PartialView 返回到 results div 的情况下使用验证错误更新 Ajax 表单。如果表单是有效的,那么它应该返回Records PartialView。
创建.ascx
<% Using Ajax.BeginForm("Create",
"Record",
New Record With {.UserID = Model.UserID},
New AjaxOptions With {
.UpdateTargetId = "results",
.LoadingElementId = "loader"
})%>
Date Located
<%= Html.TextBoxFor(Function(model) model.DateLocated)%>
<%= Html.ValidationMessageFor(Function(model) model.DateLocated) %>
Description
<%= Html.TextBoxFor(Function(model) model.Description)%>
<%= Html.ValidationMessageFor(Function(model) model.Description) %>
<input id="btnSave" type="submit" value="Create" />
<span id="loader" class="loader">Saving...</span>
<%End Using%>
Records.ascx
<div id="results">
...
</div>
RecordController.vb
Function Create(ByVal newRecord As Record) As ActionResult
ValidateRecord(newRecord)
If Not ModelState.IsValid Then
Return PartialView("Create", newRecord)
End If
_repository.Add(newRecord)
_repository.Save()
Dim user = _repository.GetUser(newRecord.UserID)
Return PartialView("Records", user)
End Function
【问题讨论】: