选择标记应该如何准确地映射到 MVC 模型变量,我已经尝试了所有我能想到的方法,但是每次我检查控制器上的 post 方法时,应该绑定到下拉列表的变量返回 null。
看法:
<script type="text/javascript">
var counter = 1;
$('#btnAddLocation').click(function (e) {
e.preventDefault();
$("#tblAddLocation").find('tbody')
.append($('<tr>')
.append($('<td>')
.append($('@Html.LabelFor(m => m.Location)')
)
)
.append($('<td>')
.append($('<select name=Location id=Location' + counter++ + ' class=gradientTextbox>')
)
)
.append($('<td>')
.append($('@Html.LabelFor(m => m.Description)')
)
)
.append($('<td>')
.append($('@Html.EditorFor(m => m.Description)')
)
)
);
$.getJSON("/Locations/GetAllLocations", function (data) {
var items = "<option selected></option>";
$.each(data, function (i, item) {
items += "<option value='" + item.Value + "'>" + item.Text + "</option>";
});
$("#Location" + (counter - 1)).html(items);
});
});
</script>
控制器:
[HttpPost]
public ActionResult ActionName(MyModel model, List<string> Location, List<string> Description) {
return Json(new { success = true });
}
控制器代码中的 Description 变量工作正常,但 Location 列表返回正确的计数,但所有项目均为空。
有关如何处理此问题的任何建议?