我有一个问题一直困扰着我。
我有一个页面,根据搜索生成一个复选框列表。页面内还有一个对话框,用于在按下按钮时显示。我要做的是从复选框中获取值并将它们传递给控制器操作,然后返回对话框的部分。
我遇到的麻烦是我从复选框中获取值,但它们没有传递给控制器中的操作。不知道我在这里缺少什么。
我正在使用的jquery脚本
var create_dialog = jQuery("#main div#list_dialog");
// AddToList is a button for sending values to the action
$("#AddToList").live("click", function() {
var myData = new Array();
var i = 0;
$("input:checkbox[@name='ID']").each(
function() {
if (this.checked) {
myData[i] = this.value;
i++;
}
});
create_dialog.load(
Jurat.Path.createActionPath("List", "ListValues"),
{ ID: myData },
function() {
create_dialog.dialog("open");
create_dialog.find("form").validate();
});
});
控制器动作
[HttpPost]
public ActionResult ListValues(string ID)
{
// Removed manipulation details
return PartialView("ListSelection", Data);
}
答案 0 :(得分:0)
我不是100%肯定jQuery的东西和create_dialog,但在我看来,你正在将一个数组传递给控制器,而控制器正在寻找一个字符串。
我认为您需要将Controller更改为:
[HttpPost]
public ActionResult ListValues(string[] ID)
{
// Removed manipulation details
return PartialView("ListSelection", Data);
}