私はASP.NET MVCとJQueryを教えるための小さなアプリを作成しています。ページの1つは、いくつかを選択できるアイテムのリストです。次に、ボタンを押して、JQueryのPost関数を使用して、選択された項目のIDを含むリスト(または同等のもの)をコントローラーに送信します。
選択された要素のIDを含む配列をなんとか取得し、それを投稿したいと思います。これを行う方法の1つは、非表示の値を使用してページにダミーのフォームを作成し、選択したアイテムで非表示の値を設定して、そのフォームを投稿することです。しかし、これは粗末に見えます。
アレイをコントローラーに直接送信することで、これを実現するためのより明確な方法はありますか?いくつかのことを試しましたが、コントローラーが受信データをマップできないようです。これまでのコードは次のとおりです。
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[]"]