Ivは関連する質問を検索しましたが、それでも私の状況でこれを動作させることはできません。私はASP.NET MVCで働いています。Ajaxがコントローラのアクションに配列を渡していませんか?
私は3つのフィルタを持つレポートを持っています。フィルター1と2には1つの値しか選択できません。私の3番目のフィルターはマルチセレクトフィルターです。私はMulti Select Filterから選択されたすべての値を持つ配列をロードします。次に、3つのフィルタをすべてコントローラアクションに渡します。フィルタ1と2は正常に動作しますが、マルチ選択フィルタは渡されておらず、アクションパラメータに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
@pparas htmlはうまくいきます。 Console.Log()で配列をテストして、配列の内容を表示しました。配列の中に正しい値があります。 – Reeggiie
@pparasこれはフィルタリストを作成する方法です。このコメントを投稿するには、剃刀のsytaxの@を削除しなければなりません。 – Reeggiie