2014-08-28 31 views
0

具有以下的DropDownList不顯示在負載任何東西。當頁面加載時應該顯示選擇代碼而不是空白。在我打開/關閉它後正常工作。然後使用可選標籤。我添加了Text/SelectedIndex屬性,同時與此混淆。劍道的DropDownList OptionLabel永遠不會出現,直到它被打開和關閉

@(Html.Kendo().DropDownList() 
    .Name("quickCodes") 
    .BindTo((System.Collections.IEnumerable)ViewBag.QuickCodes) 
    .Template("#if (data.OpCode) { # ${ data.Code } ${ data.OpCode } ${ data.Description } # } else { data.Code } #" + 
      "<input type='hidden' name='DetailLines[#= index(data)#].QuickCodeId' value='#= data.Id #' />") 
    .DataValueField("Code") 
    .DataTextField("Code") 
    .ValuePrimitive(true) 
    .AutoBind(false) 
    .OptionLabel("Select a code") 
    .Text("Select a code") 
    .SelectedIndex(0) 
    .Events(o => o.Change("quickCodeAdd")) 

+0

您已設置選擇指數爲0,「選擇代碼」可能不會在索引0檢查下拉,並找到索引「選擇代碼」,並通過改變的selectedIndex測試(X)。一旦確認這是您的問題,然後調整選擇代碼標籤的positino – HaBo 2014-08-28 20:41:25

+0

Kendo控件實際上並未使用真正的「選擇」。這是一個內部跨度和一個包含ul元素的div。所以這是不可能的。然而,當用戶點擊下拉並選擇一個項目時,我正在編程調用select(0),這實際上是選擇選項標籤(選擇一個代碼)。這是我的理解,選項標籤的目的是爲了填補這一點,沒有麻煩。 – Paul 2014-08-28 21:16:17

+0

解決方法:$(「span.k-input」).text(「選擇代碼」)。 – Paul 2014-08-28 21:24:49

回答

1

看起來像AutoBind設置爲false沒有與OptionLabel /文本的問題。下面的代碼工作,這更符合你所建議的工作。

@(Html.Kendo().DropDownList() 
     .Name("color") 
     .DataTextField("Code") 
     .DataValueField("Code") 
     .AutoBind(false) 
     .Text("Select Code") 
     .OptionLabel("Select code") 
     .HtmlAttributes(new { value = "Select code" }) 
     .BindTo(ViewBag.QuickCodes) 

) 
+0

謝謝!歡迎來到SO。 – Paul 2014-08-29 12:52:20

相關問題