从模型提交时将数据发送到控制器并同时 jQuery

Send data to the controller when submit from the model and jQuery at the same time

在我的 asp MVC 表单中,我在提交时将此数据发送到控制器:

@Html.EditorFor(model => model.Idententificacion.Riesgo, new { htmlAttributes= new { @class = "form-control" } })

但同时我想发送此数据:

$('form').on('submit', function send() {
    alert("hi2");
    $.ajax({
        type: "POST",
        traditional: true,
        url: '/Identificacions/Create',
        data: { Par: v }
    });

});

使用此提交按钮:

<input type="submit"  value="Create" class="btn btn-default" id="Guardar" />

并且控制器正在以这种方式接收它:

public ActionResult Create(IdentificacionViewModel identificacion,  int[] Par)

问题是它一次发送一个参数,我怎么能同时发送两个参数给控制器。

在此先感谢您的帮助。

我想你可以 have/generate Par 参数的两个隐藏字段名称 Par[0] 和 Par[1] 具有相应的值并删除每个 AJAX 调用。如果你有一个集合而不是只有两个元素,你不能使用循环 for

<input type="hidden" name="Par[0]" value="v0" />
<input type="hidden" name="Par[1]" value="v1" />
<input type="submit"  value="Create" class="btn btn-default" id="Guardar" />

为此,您可以像这样使用 Html.Hidden MVC 助手

@Html.Hidden("Par[0]", "v0")
@Html.Hidden("Par[1]", "v1")

要使用循环尝试这样的事情

@for (var counter = 0; counter < List.Count; counter++)
{ 
    @Html.Hidden(string.Format("Par[{0}]", counter), List[counter].Value)
}