2014-12-10 90 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"