2012-07-07 57 views
0

我已經在網格中設置了ComboBox。它顯示一切正常,但是當我在ComboBox中選擇任何內容時,它並沒有向服務器發佈正確的值,我調試了它並發現它始終將值爲0. 任何想法爲什麼是這樣以及如何解決它? 這裏的重要代碼:電網中的Telerik MVC ComboBox未發佈正確的值

**Controller** 
    //lista za stvaratelje (ComboBox) 
    var stvaratelji = newStvarateljiService.GetAllStvaratelje(); 
    //za combobox 
    ViewBag.stvaratelji = stvaratelji; 
    //za selectlist 
    var listaStvaratelja = new SelectList(stvaratelji, "IdStvaratelj", "Naziv"); 
    ViewData["stvaratelji"] = listaStvaratelja; 

**View** 
columns.ForeignKey(b => b.StvarateljId, (SelectList)ViewData["stvaratelji"]).Title("Stvaratelji").EditorTemplateName("Stvaratelji").Width("30%"); 

**EditorTemplate** 
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 

<%= Html.Telerik().ComboBoxFor(m => m) 
    .Name("Stvaratelji") 
    .Filterable(filtering => 
     filtering.FilterMode(AutoCompleteFilterMode.Contains) 
    ) 
    .Encode(false) 
    .AutoFill(true) 
    .BindTo((SelectList)ViewData["stvaratelji"]) 
%> 

我使用的SelectList與外鍵,因爲當電網是不是在編輯模式下,它顯示的值(ID),而不是名字,但這是一個完全不同的問題,一個不那麼重要。儘管如此,如果有人知道如何設置ComboBox來顯示名稱,當網格不處於編輯模式時,它也將不勝感激。

回答

1

我想出了什麼問題。 我在「StvarateljId」中更改了EditorTemplate的ComboBoxFor的名稱,因爲ComboBoxFor沒有綁定到網格中的標題,而是「ForeignKey」部分中屬性的名稱。

+0

現在,如果有人仍然可以幫助我的SelectList與外鍵部分。 我想只使用組合框,而不是使用ForeignKey的SelectList。 當網格不處於編輯/插入模式時,我希望列也顯示組合框中的「Naziv」。 – 2012-07-09 09:53:29

0

達里奧,
爲了解決這個問題在你的答案(「不使用的SelectList」)的評論: 你試過從一個ForeignKey轉變爲一個簡單的綁定列有DisplayTemplates/StvarateljId類似EditorTemplates?我用這個設置取得了一些成功,而不是使用ForeignKey。

這是Telerik的link to the demos顯示這個確切的設置。