我正在创建一个小应用程序来自学ASP.NET MVC和JQuery,其中一个页面是可以选择其中一些项目的列表。然后,我想按下一个按钮,并使用JQuery的Post函数将包含选定项ID的列表(或等效项)发送到我的控制器。
我设法得到一个包含所选元素ID的数组,现在我要发布该数组。我可以执行的一种方法是在页面中创建一个具有隐藏值的虚拟表单,然后使用所选项目设置隐藏值,然后发布该表单。但是,这看起来很麻烦。
通过将阵列直接发送到控制器,是否有更清洁的方法来实现此目的?我尝试了一些不同的操作,但看起来控制器无法映射其接收的数据。到目前为止的代码如下:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
然后我的控制器看起来像这样
public ActionResult GenerateList(List<string> values)
{
//do something
}
我设法得到的只是控制器参数中的“ null”。
有小费吗?
Request["values[]"]