我正在创建一个小应用程序来自学 ASP.NET MVC 和 JQuery,其中一个页面是一个可以选择其中一些项目的列表。然后,我想按下一个按钮,并使用 JQuery 的 Post 函数向控制器发送一个 List (或类似的东西) ,其中包含所选项的 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”..。
有什么建议吗?