我正在开发 asp.net MVC 2 应用程序。我有这样的表格:
<% using (Html.BeginForm("SaveCallRecording", "Recording", FormMethod.Post, new { id = "frmAddCallRecording", name = "frmAddCallRecording" }))
{%>
<tr>
<td>
</td>
<td>
<input type="button" id="btnCall" title="Call" value="Call" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
<input type="button" id="btnNewCall" title="New Call" value="New Call" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
</td>
</tr>
</table>
<%} %>
我在 document.ready 中有这个
$("#btnCall").click(function () {
var CallStatus = $("#txtCallStatus").val();
if (CallStatus == 'READY') {
if ($("#isUniquePassword").is(':checked') && $("#UniquePassword").val() == '') {
$("#dialog-RecipientEmail-error").dialog("open");
}
else {
$.ajax({
type: "POST",
dataType: "json",
url: "/account/getGenericPassword",
success: function (data) {
if (data == null || data == "") {
if ($('#isGenericPassword').is(':checked')) {
$("#dialog-add-generic-password").dialog("open");
}
}
else {
$("#frmAddCallRecording").submit();
//after this I want to show alert based on result
}
}
});
} // end of isUniquePassword if
} // end of call status if
else if (CallStatus == 'NOT SET') {
$("#dialog-required-fields").dialog("open");
}
});
控制器是这样的:
[Authorize]
[HttpPost]
public JsonResult SaveCallRecording(CallRecording recording, FormCollection form)
{
return Json("record saved!");
}
执行 actionresult SaveCallRecording 后,我想显示成功或失败消息。我该怎么做 ?如果我尝试 $.ajax,我需要使用 `data: { "item" : "value1" , ....} 手动形成表单数据。我尝试使用 $.post 但我也需要手动将数据传递给它。如果我将 btnCall 作为提交按钮而不是按钮,则验证失败。
我想要:
1)首先验证表单并在表单未验证时显示警报。2) 将表单数据发布到 json Action 方法 SaveCallRecording 3) 从 Action 方法获取成功或失败消息并显示为警报
请提出解决方案。