我是初学者,开发.Net MVC 5应用程序。但是我在使用Jquery将数组或对象传递给控制器时遇到了一些问题。
我正在使用按钮添加动态输入字段。我想将输入数据传递给控制器。但我不能成功。
Html Section就是这样;
<div id='TextBoxesGroup'>
<div id="TextBoxDiv1">
<label>Textbox #1 : </label><input type='text' id='textbox1'>
</div>
</div>
<input type='button' value='Add Button' id='addButton'>
<input type='button' value='Remove Button' id='removeButton'>
<input type='button' value='Get TextBox Value' id='getButtonValue'>
获取Value按钮功能就是这样;
$("#getButtonValue").click(function () {
var list = new Array();
for (i = 1; i < counter; i++) {
list[i] = $('#textbox' + i).val();
alert(list[i]);
}
var postData = { values: list };
$.ajax({
type: "POST",
url: "/Surveys/PostQuestionAndOptions",
data: postData,
success: function (data) {
alert(data);
},
dataType: "json",
traditional: true
});
});
即使我将“传统”设置为true,模型也为空。
[HttpPost]
public JsonResult PostQuestionAndOptions(string[] model)
{
return Json(true);
}
有人可以帮助我吗?谢谢。
答案 0 :(得分:3)
您需要一个强类型对象。
的JavaScript
for row in csvList:
stDiff = float(row[5]) - float(row[3])
if float(row[3]) <= float(row[4]):
# ...
else:
# ...
强类型对象
$("#getButtonValue").click(function (e) {
e.preventDefault();
var list = [];
for (var i = 1; i < counter; i++) {
list.push($('#textbox' + i).val());
}
var postData = { values: list };
$.ajax({
type: "POST",
url: "/Surveys/PostQuestionAndOptions",
data: postData,
success: function (data) {
alert(data);
},
dataType: "json",
traditional: true
});
});
控制器方法
public MyValues {
public list<string> values {get; set;}
}