【发布时间】:2020-10-20 10:55:59
【问题描述】:
我在.cshtml 视图的@section Scripts 中有这样的JS 函数:
function SendIndexes() {
var selectedSortOption = $("#SortBy").find('option:selected');
var sortIndex = selectedSortOption.val();
var selectedFilterByTypeOption = $("#filter_marker_bytype").find('option:selected');
var filterByTypeIndex = selectedFilterByTypeOption.val();
var selectedFilterByScoreOption = $("#filter_marker_byscore").find('option:selected');
var filterByScoreIndex = selectedFilterByScoreOption.val();
var selectedFilterByStatusOption = $("#filter_marker_bystatus").find('option:selected');
var filterByStatusIndex = selectedFilterByStatusOption.val();
var markerFilterIndexes = [filterByTypeIndex, filterByScoreIndex, filterByStatusIndex];
location.href = `/Markers/MarkersList?page=@Model.PagingInfo.CurrentPage&sortIndex=${sortIndex}&markerFilterIndexes=${markerFilterIndexes}`
}
控制器动作签名如下:
public async Task<IActionResult> MarkersList(List<string> markersForUpdateIds, IEnumerable<int> markerFilterIndexes, int page = 1, string message = "", int sortIndex = 0)
{
...
}
问题是三个元素的数组根本没有传入。但是,如果我只将一个变量(元素)推送到这个数组,那么它会按原样传递给控制器的操作。
为什么会发生这种情况以及如何将所有三个元素都传递给控制器?
【问题讨论】:
-
你在 url 中看到了什么?
-
@charlietfl localhost:51803/Markers/…
标签: javascript asp.net-core razor