在我的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)
问题是它当时正在发送一个参数,我怎样才能同时向控制器发送两个参数。
提前感谢您的帮助。
答案 0 :(得分:0)
我认为您可以为Par参数创建/生成两个隐藏字段 Par [0]和Par [1]具有相应的值并删除每个AJAX调用。如果你有一个集合而只有两个元素你不能使用循环
<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)
}