【发布时间】:2011-03-16 14:26:55
【问题描述】:
我的情况
我的主页上显示了一个项目列表(调查)。当我单击特定项目的编辑按钮时,我会弹出一个模式,其中包含要编辑的项目详细信息。当用户点击 Save 我通过 ajax 提交表单。根据是否 ModelState.IsValid == true 我想使用验证信息更新模式或关闭模式并使用新信息更新项目列表。
这就是我提交表单的方式:
$('#editSurveyForm form').live('submit', function () {
var f = $("#saveSurvey").parents("form");
var action = f.attr("action");
var serializedForm = f.serialize();
$.ajax({
type: "POST",
url: action,
dataType: "html",
data: serializedForm,
success: function (result) {
//TODO - I need an indicator that validation was successful
//If Validation Failed reload form with validation errors
$('#editSurveyModal').html(result);
//If Successful, reload Survey Partial View
//$('#surveyBox').html(result);
}
});
return false;
});
我的问题
我唯一能想到的就是从我的控制器返回 JSON,并带有一个标志,指示 ModelState.IsValid 的状态以及我应该显示的相应部分。
1) 我该怎么做?
2) 有没有更好的方法?
更新
我发现了这个: http://www.klopfenstein.net/lorenz.aspx/render-partial-view-to-string-in-asp-net-mvc
但我似乎更可能错误地处理整个事情。
【问题讨论】:
-
你能不能只使用一个 Ajax 表单 - @Ajax.BeginForm("Action", "Controller")
标签: asp.net asp.net-mvc ajax json