2015-06-25 32 views
0

我有一個組合框的局部視圖。當嘗試使用模態渲染局部視圖(包含來自數據庫的數據)時,它僅顯示值字段。我想顯示該值字段的文本字段。請幫幫我。劍道combobox不顯示對應於模式的值的文本

@(Html.Kendo().ComboBoxFor(m => m.divCode) 
    .DataTextField("Name") 
    .DataValueField("ID")           
    .HtmlAttributes(new { style = "width:160px" }) 
    .SelectedIndex(0) 
    .AutoBind(false) 
    .Placeholder("Select Div Code") 
    .Filter(FilterType.Contains) 
    .DataSource(source => 
    { 
     source.Read(read => 
     { 
      read.Action("GetDivision", "AssetTransaction"); 
     }); 
    }) 
) 
+0

GetDivision()返回什麼? –

+0

@ Stephen Muecke,帶有文本字段和值字段的模態,組合框在選擇上完美工作。我的問題是當試圖編輯窗體'返回JSON(divisionViewModel.Select(c =>新{ID = c.divisioncode,Name = c.divisionname}) .OrderBy(o => o.ID) .ToList() ,JsonRequestBehavior.AllowGet);' – Ajith

+0

這是什麼問題?你是否在使用json語句時遇到任何錯誤?你有沒有觀察到反應? –

回答

0

我發現你的視圖代碼沒有錯。它對我來說看起來很好。我認爲你做的和this sample一樣。

我懷疑你的值爲c.divisioncode, Name = c.divisionname。只要確保您正確地獲取並正確設置value and text從您的數據庫服務調用來查看模型並正確分配。爲此,您可以使用並查看「快速查看」while debugging the GetDivision "Action" in AssetTransaction "controller"

示例代碼,我發現:

@(Html.Kendo().ComboBox() 
      .Name("products") 
      .DataTextField("ProductName") 
      .DataValueField("ProductID") 
      .HtmlAttributes(new { style = "width:250px" }) 
      .Filter("contains") 
      .AutoBind(false) 
      .MinLength(3) 
      .DataSource(source => { 
       source.Read(read => 
       { 
        read.Action("GetProducts", "Home"); 
       }) 
       .ServerFiltering(true); 
      }) 
    ) 
0

我面臨着類似的問題,因爲我的模型屬性的代碼。

我改變

AutoBind(false) 

AutoBind(true). 

現在它顯示的文本,而不是價值

0

您可以設置AutoBind爲false(您已經完成),以及然後使用Text屬性來定義將要顯示的文本:

@(Html.Kendo().ComboBoxFor(m => m.divCode) 
.DataTextField("Name") 
.DataValueField("ID")           
.HtmlAttributes(new { style = "width:160px" }) 
.SelectedIndex(0) 
.AutoBind(false) 
.Text(Model.YourTextFieldToDisplay) // add this and modify to your needs 
.Placeholder("Select Div Code") 
.Filter(FilterType.Contains) 
.DataSource(source => 
{ 
    source.Read(read => 
    { 
     read.Action("GetDivision", "AssetTransaction"); 
    }); 
})