我在 MVC4 上使用 KendoUI 。
我有一个 DropDownList 绑定到一个空字符串的模型属性:
@(Html.Kendo().DropDownListFor(model => model.AppUserStatus)
.Name("userStatusDropDownList")
.DataTextField("Text")
.HtmlAttributes(new {style = "width:100%;"})
.DataValueField("Value")
.BindTo(@ViewBag.StatusList))
model.AppUserStatus 是一个默认为空的字符串。
在用户选择新项目或将所选项目保留为默认项目(索引0)并将表单发回后,即使所有其他字段都已正确绑定,model.AppUserStatus仍为空:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Update(EditUserViewModel model)
{
model.AppUserStatus ***** IS Null always, all other fields are good
return View("EditUser", model);
}
答案 0 :(得分:3)
您无需为控件设置Name(“userStatusDropDownList”)属性。
删除它,名称将自动生成 - 即 #AppUserStatus 。
此Name方法还通过发布到服务器的值控制名称 - 发布的input元素的name属性。