从模型提交时将数据发送到控制器并同时 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)
}
在我的 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)
}