javascript - 通过按钮单击事件 jQuery 将模型发送到 MVC C# Controller 的操作

标签 javascript c# jquery asp.net-mvc

我一直在开发一个 MVC C# 项目,我需要将信息(模型)从我的 View 发送到适当的 Controller 操作,但是在通过 jQuery 管理一些验证和提交按钮的单击事件之后,这里是单击提交按钮及其验证的 JavaScript 代码(工作正常)

 $("#sentInfo").click(function (e) {
            e.preventDefault();
            $("#idProveedor").val(proveedor);
            $("#idacme").val('ingresar');

                var table = $('#myTable');

                table.find('tbody tr').each(function (index, tr) {
                    if ($(tr).find("td:eq(2)").html() === $("#idDUI").val()) {
                        alert('ya existe el DUI');
                        exit;
                    }

                    else if ($(tr).find("td:eq(3)").html() === $("#idISSS").val()) {
                        alert('ya existe el ISSS');
                        exit;
                    }
                    else {
                        $("form").submit();
                    }
                });
        });

上面的代码将值设置为#idProveedor和#idacme输入,并验证DUI或ISSS是否已经存在,但如果值已经存在,它总是将模型发送到操作以及我想要的如果ISSS或DUI值存在,则不应将模型发送到操作方法。 谁能帮我吗?

这是我的表单代码

 @using (Html.BeginForm("EnviarEALG", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form", id = "FormEmp" }))
            {
...
some code goes here
...
<input type="submit" value="Ingresar Empleado" class="btn btn-info" id="sentInfo" />
}

这是经过修改的代码:

  $("#sentInfo").click(function (e) {
            e.preventDefault();
            $("#idProveedor").val(proveedor);
            $("#idacme").val('ingresar');

             var table = $('#myTable');

                table.find('tbody tr').each(function (index, tr) {
                    if ($(tr).find("td:eq(2)").html() === $("#idDUI").val()) {
                        alert('ya existe el DUI');
                        exit;
                    }

                    else if ($(tr).find("td:eq(3)").html() === $("#idISSS").val()) {
                        alert('ya existe el ISSS');
                        exit;
                    }
                    else {
                        $("FormEmp").submit();
                    }
                });
        });

和按钮

<input type="button" value="Ingresar Empleado" class="btn btn-info" id="sentInfo" />

最佳答案

一种解决方案是使用 ajax 将数据从 View 发送到 Controller 。我经常使用它,并且可能对您来说是一个很好的解决方案,因为您正在使用 jQuery 单击事件。下面是一个未经测试的示例,但它会让您了解如何做到这一点。

function Save(model){

    var data = {
      'modelNameToPass': model
    }

    $.ajax({
         url: "/Home/EnviarEALG", // "/ControllerName/Method"
         data: data,
         type: "POST",
         success: function(response){
             //code to do something on success
         },
         error: function(response){
            //do error stuff here
         }
    });

}

那么你的 Controller 应该已经像这样设置了..

[HttpPost]
public ActionResult EnviarEALG(DataModel modelNameToPass)
{

}

希望这有帮助!

关于javascript - 通过按钮单击事件 jQuery 将模型发送到 MVC C# Controller 的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520083/

相关文章:

javascript - 地理定位不适用于手机

c# - EF 核心 'another instance is already being tracked'

c# - 如何在html表格中将水平行更改为垂直列数据显示

javascript - 如何在单击并运行新功能时停止运行超时 jquery 功能?

javascript - 在 JavaScript 中查找数组的长度(大小)

javascript - 如何使用 webpack bundle javascript 文件/Jquery 文件?

javascript - Fabric.js getObjects() 按标签或类型

c# - 字符串标记的 Antlr 标记定义

javascript - 用于网络摄像头录制的 Flash 库,封装在 JS 中?

使用菜单的 JQueryUI 菜单栏