2013-07-23 59 views
0

當我在劍道組合框中設置選定的項目時,它將顯示值而不是項目的文本。定義劍道組合框中的選定項目

foreach (var v in Model.Projects) 
    { 
    SelectListItem item = new SelectListItem(); 
    item.Value = v.Project_Id; 
    item.Text = v.Description; 

    if (v.Project_Id.Equals(Model.Project_Id)) 
    { 
     item.Selected = true; 
    } 
    list.Add(item); 
    } 

      } 

      @(Html.Kendo().ComboBox() 
       .Name("mycombo") 
       .BindTo(list) 
       .Enable(true) 
       .AutoBind(false) 

    ) 

回答

0

只需要自動綁定設置爲true,那麼文本會立即被加載並不僅當用戶點擊了組合框。

@(Html.Kendo().ComboBox() 
       .Name("mycombo") 
       .BindTo(list) 
       .Enable(true) 
       .AutoBind(true) 
2

嘗試使用DataTextFieldDataValueField更新您的組合框的包裝來告訴它具體是什麼字段使用。

@(Html.Kendo().ComboBox() 
       .Name("mycombo") 
       .BindTo(list) 
       .Enable(true) 
       .DataTextField("Text") 
       .DataValueField("Value") 
       .AutoBind(false)) 
+0

它沒有解決問題。 如果我把.DataTextField(「Value」)的初始字段的值和該項目的值。 但是,如果我把.DataTextField(「文本」),那麼初始字段具有值,並且項目具有文本。 –

+0

您是否同時使用** .DataTextField(「Text」)**和** .DataValueField(「Value」)**?從你的評論看起來你沒有使用.DataValueField。 –

+0

解決了它。 只需要將自動綁定設置爲true即可。 這樣,文本將立即加載,而不僅僅是當用戶單擊組合框時。 –

相關問題