我在 MVC 环境中,正在从 View 调用 Controller 方法之一。 Controller 方法随后进行一些验证检查并返回到具有错误模型状态
的同一 View此时,我期望所有验证字段如下所示:
<td>@Html.ValidationMessageFor(m => m.Comments)</td>
亮起并显示错误消息。但这并没有发生。我认为这是因为我需要使用新的错误模型重新加载 View 。我怎样才能做到这一点?
以下是我的 Ajax 代码的片段:
$("#Save").click(function () {
var model = {
ApplicationNumber: '@Model.ApplicationNumber',
ApplicationId :'@Model.ApplicationId' ,
Name: $('#Name').val(),
CreateDate: $('#CreateDate').val(),
OverrideHireDate: $('#OverrideHireDate').val(),
Amount: $('#Amount').val(),
VendorId: $('#Vendor').val(),
Comments: $('#Comments').val(),
CurrentState: '@Model.CurrentState',
CurrentStatusDate: '@Model.CurrentStatusDate'
};
$.ajax({
data: model,
url: '@Url.Action("SaveApplication", "Applications")',
type: "POST",
success: function (result) {
$(function () {
// some code to activate validation controls?
});
}
});
});
以下是我的 Controller :
public ActionResult SaveApplication(ApplicationModel application)
{
if (!ModelState.IsValid)
{
// ModelState.AddModelError("Name", "This is a Test");
return View("New",application);
}
ApplicationBLL.SaveApplication(application);
return Content(string.Empty);
}
最佳答案
好吧,这可能是非常微不足道的事情,但它成功了。
在 AJAX Post 的 OnSuccess 中,我确实添加了以下内容并且它起作用了:
$("body").html(result);
关于jquery - 如何在 Ajax Post 后更新我的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32702543/