【发布时间】:2020-09-09 11:30:54
【问题描述】:
我正在使用序列化将 'form' 的值从 ajax 传递到控制器。问题是我的“测试”数组为空没有将值从 ajax 传递到控制器我使用的是 ASP.NET MVC 5。请帮助谢谢
但是当我从模型中移除模型时,测试数组有一个值并传递给控制器。我需要将两个参数都传递给控制器
var test = [];
test[0] = 1;
test[1] = 2;
function saveSelected() {
var model = $('form').serialize();
$.ajax({
url: '@Url.Action("index", "order")',
type: 'POST',
data: { model: model.serialize(), test: test },
traditional: true,
success: function (data) {
alert("success");
}
});
}
我的控制器
public ActionResult Index(MyModel model, string[] test)
{
return View();
}
【问题讨论】:
-
首先,
model是一个字符串,因为你已经序列化了它,你不能再序列化它。关于这个问题,最简单的方法是将test数据放入formHTML中的隐藏字段,然后它会自动为您序列化 -
但是我的测试不是我的表格的一部分。还有另一种传递值的方法吗?
标签: c# jquery asp.net-mvc asp.net-ajax ajaxform