HTML Dropdownlist未映射到MVC模型
HTML Dropdownlist not mapping to MVC Model
select标记到底应该如何映射到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的列表返回正确的计数,但所有项都为null。
关于如何处理这个问题有什么建议吗?
要使绑定工作,Location
应该是string
值。它不会通过所有的<option>
,而是会通过当前的selectedvalue
[HttpPost]
public ActionResult ActionName(MyModel model, string Location, List<string> Description) {
return Json(new { success = true });
}
我找到了解决方案。
Html.DropDownListFor version
<select id="Location" name="Location" class="gradientTextbox">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
我的版本
<select id="Location1" class="gradientTextbox" name="Location">
<option selected=""></option>
<option value="null">option 1</option>
<option value="null">option 2</option>
<option value="null">option 3</option>
注意到细微的差异,问题的真正问题在于这行代码:
items += "<option value='" + item.Value + "'>" + item.Text + "</option>";
为了修复我的代码,前面提到的行应该被替换为:
items += "<option>" + item.Text + "</option>";
问题已解决。感谢您的帮助@Gabe
相关文章:
- HTML Dropdownlist未映射到MVC模型
- 将值从Javascript函数传递到MVC模型
- ASP.Net MVC模型绑定到javascript
- 使用 AJAX 发布 MVC 模型
- jQuery ajax 响应绑定到 MVC 模型表中
- 如何重新绑定引导模式对话框的 mvc 模型
- MVC 模型绑定无法通过 AJAX 请求工作
- 如何将javascript对象映射到mvc模型
- 重构JS对象以适应绑定MVC模型
- 基于mvc模型设置html复选框复选值
- 对于基于服务器的应用程序,我需要在浏览器客户端上使用MVC模型的原因是什么
- 无法显示来自mvc模型的验证错误消息
- 使用mvc模型在Google Maps API v3
- 使用js对razor中的mvc模型进行部分更新
- Javascript Regex将$.param返回的url字符串强制转换为MVC模型绑定约定
- 如何使用Javascript更新MVC模型客户端
- 将数据从MVC模型传递到角度控制器
- MVC模型验证不引人注目
- 如果MVC模型为空,有条件地执行javascript
- 使用ajax发送MVC模型