【发布时间】:2016-09-20 20:51:13
【问题描述】:
我搜索了相关问题,但仍然无法在我的情况下使用它。我在 ASP.NET MVC 中工作。
我有一份包含 3 个过滤器的报告。过滤器 1 和 2 只能选择 1 个值。我的第三个过滤器是多选过滤器。我加载了一个包含从多选过滤器中选择的所有值的数组,然后我想将所有 3 个过滤器传递给我的控制器操作。过滤器 1 和 2 正常工作,但我的多选过滤器未通过,并在我的 Actions 参数中显示为 Null。
下面是我的 JavaScript 和 Ajax 调用
$('#applyFilter').click(function () {
var options = new Array();
//Fill array with values from Multi Select Filter
$('#treeFilter > option:selected').each(
function (i) {
options[i] = $(this).text();
})
var filter1 = $('#LOCFilterDropdown').val();
var filter2 = $('#ESNFilterDropdown').val();
$.ajax({
type: "GET",
url: "/Home/FilterReport",
data: {
filterOne: filter1,
filterTwo: filter2,
multiselectFilter: options
},
success: function (result) {
$('#reportTable').html(result);
}
});
});
接收动作
[HttpGet]
public ActionResult FilterReport(string filterOne,string filterTwo, int? page, List<string> multiselectFilter)
{
//filterOne contains correct value
//filterTwo contsins correct value
//multiSelectFilter contains null
//returns partial view
}
谁能告诉我为什么我的
List<string> multiselectFilter
//Iv also tried string[] multiselectFilter, but this didnt change anything
现在正在接收来自 ajax 调用的数组吗?
【问题讨论】:
-
你的html是什么样子的
-
@pparas 我相信 html 很好。我使用 Console.Log() 测试了数组以查看数组的内容。数组里面有正确的值。
-
@pparas 这就是我创建过滤器列表的方式,必须删除 razor 语法中的 @ 才能发布此评论。
-
嗯...在某处需要
JSON.stringify()?GET方法太多了?当数据到达控制器但未正确映射时,请求中是否存在数据?只是大声思考......
标签: javascript c# jquery asp.net ajax