2014-12-10 68 views
3
@model bool? 
@(Html.Kendo().DropDownListFor(m=>m).BindTo(new List<SelectListItem>() { 
              new SelectListItem() { 
              Text = "--Select--", 
              Value = null 
             }, 
             new SelectListItem() { 
              Text = "Yes", 
              Value = "true" 
             }, 
             new SelectListItem() { 
              Text = "No", 
              Value = "false", 
             } 

     }).DataTextField("Text").DataValueField("Value").HtmlAttributes(new { data_value_primitive = "true" })) 

一切都适用于一个问题:当我将值设置为true或false时,我不能将其设置回null。因此,如果该字段的值用于“true”,并将其设置为“null”或(“--Select--”)并单击提交,则该值将重新设置为false。这是场如何设置在我的模型Kendo DropdownlistFor可为空布尔值不设为空值

[DisplayName("Autostart Load")] 
public bool? AutoStartLoad { get; set; } 

这究竟是为什么?

+0

这是在剑道网格? – callisto 2015-03-19 15:02:38

回答

2

尝试的OptionLabel属性,它为我工作

@Html.Kendo().DropDownListFor(model => model.SomeProperty).OptionLabel("Choose value...").BindTo(new List<SelectListItem>() 
      { 
       new SelectListItem() { Text = "Yes", Value = "True" }, 
       new SelectListItem() { Text = "No", Value = "False" }, 
      }); 

public bool? SomeProperty { get; set; } 

同时设定的truefalse用大写字母开头的Value,因为bool.ToString()返回值"True""False"