在 @Ajax.BeginForm 中检查验证和将表单提交到服务器

Check validation and pervent form submitting into server in @Ajax.BeginForm

提问人:Souparnika 提问时间:11/26/2014 更新时间:11/26/2014 访问量:196

问:

我在index.cshtml中有一个代码

 @using (@Ajax.BeginForm("ActionEvent", "Fielding", new AjaxOptions { OnSuccess = "onBDSuccessFunction", HttpMethod = "post" }, new { id = "frmField" }))
    { 
        @Html.Partial("../Fielding/_CreateOrEdit", Model)
    }

和_CreateOrEdit

function onBDSuccessFunction(result, status, xhr) {
       var errorMessage = '';
       switch (String(result.Result).toUpperCase()) **2 cases from controller when Actionevent Method fired** {
        case "OK":
               var _msg = "Data Saved Successfully";
               alert(_msg);
               return true; **saved data into database only happens here**
               break;
           case "ERROR":
               if(result.Message=='1')
               {
               alert(result.Messag);
               return false; **prevent submiting form here**
               }             
       }

   }

在这里,我有 2 个来自 ActionEvent 方法的案例 Case OK 和 Case ERROR,它以 Json 的形式返回结果

  1. 如果控制器返回 Case OK,我想将表单中输入的详细信息保存到数据库中
  2. 如果控制器返回案例错误,我不想将表单中输入的详细信息保存到数据库中

但在这两种情况下,数据都保存到数据库中。但验证触发的消息显示正确。. 我能为此做些什么..请指导我..

jquery ajax json asp.net-mvc-4 unobtrusive-javascript

评论

0赞 devqon 11/26/2014
请同时出示您的 Razor/HTML 表单
0赞 11/26/2014
OnSuccess在提交表单后被解雇。只需在发布时决定是否保存在服务器上即可。
0赞 Souparnika 11/26/2014
发布时如何决定是否在服务器上保存?
0赞 11/26/2014
好吧,该方法已经决定是返回“OK”还是“ERROR”。
0赞 Souparnika 11/26/2014
是的,如果它返回 OK,我想将数据保存到数据库中,如果它返回 ERROR,我想防止这种情况。

答: 暂无答案