ASP.NET MVC 및 JQuery를 가르치는 작은 응용 프로그램을 만들고 있으며 페이지 중 하나는 일부를 선택할 수있는 항목 목록입니다. 그런 다음 버튼을 누르고 JQuery의 Post 기능을 사용하여 선택한 항목의 ID가 포함 된 List (또는 이와 동등한 것)를 컨트롤러에 보냅니다.
선택한 요소의 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
}
내가 얻는 것은 컨트롤러 매개 변수에서 "널"입니다 ...
팁이 있습니까?
Request["values[]"]