@(Html.Kendo().DropDownListFor(model => model.ServiceID)
.OptionLabelTemplate("#=optionLabel#")
.ValueTemplate("#=Code#(#=Rate#) - #=Description#")
.Template("#=Code#(#=Rate#) - #=Description#")
.DataTextField("Code")
.DataValueField("ServiceID")
.DataSource(d =>
{
d.Read(read =>
{
read.Action("GetServiceRepository", "Service").Type(HttpVerbs.Post);
});
})
.Events(e => e.Change("onWorkOrderJobServiceChange"))
.HtmlAttributes(new { required = "required" })
.OptionLabel(new { optionLabel = Resources.Wording.SelectOne, ServiceID = 0, Rate = 0, Code = "", Description = "" })
)
我有一个如上所示的下拉列表,并希望将所选值绑定到模型的ServiceID
字段(类型为int
)
但是,无论我选择哪个项目,ServiceID
字段始终为空!它甚至不是可空类型int?
!
为什么会发生这种情况,我怎样才能实现我的目标?
答案 0 :(得分:3)
Kendo DropDownList有 ValuePrimitive 。默认情况下,它为false,所选项目返回Text和Value对。
@(Html.Kendo().DropDownListFor(model => model.ServiceID)
.ValuePrimitive(true)
....