[英]Kendo Grid's Inline Kendo Dropdown values not binding
我只是想創建一個帶有內聯劍道下拉菜單的劍道網格。 像下面這樣
我保留數據庫值如下
所以,我這樣創建的SampleModel ,我只在 DB 中保留了TypeId
public class SampleModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int TypeId { get; set; }
public string TypeName{ get; set; }
}
public class ListItem
{
public int Id { get; set; }
public string Name { get; set; }
}
這是包含 EditorTemplate 名稱的網格代碼片段
@(Html
.Kendo()
.Grid<SampleModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Name);
columns.Bound(e => e.TypeId).EditorTemplateName("Type").Title("Type").ClientTemplate("#:TypeName#");
columns.Bound(p => p.Description);
columns.Command(p =>
{
p.Edit();
p.Destroy();
});
})
.ToolBar(t =>
{
t.Create();
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(m =>
{
m.Id(mr => mr.Id);
})
.Create(cr => cr.Action("Create", "Sample"))
.Read(read => read.Action("Read", "Sample"))
.Update(upd => upd.Action("Update", "Sample"))
.Destroy(dest => dest.Action("Delete", "Sample"))
)
)
所以這是我的編輯器模板代碼片段
@using System.Collections
@model System.Int32
@(Html.Kendo().DropDownList().BindTo((IEnumerable)ViewBag.Types).DataValueField("Id").DataTextField("Name").Name("TypeId"))
所以我實現如下代碼
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
ViewBag.Types = GetTypes();
var res = sampleService.GetDB_Data();
return Json(res.Data.ToDataSourceResult(request));
}
public List<ListItem> GetTypes()
{
List<ListItem> types = new List<ListItem>();
types.Add(new ListItem()
{
Id = 1,
Name = "Good"
}
);
types.Add(new ListItem()
{
Id = 2,
Name = "Bad"
}
);
return types;
}
但這不是映射或不加載這些圖像上看到的下拉列表
不是此圖像中看到的映射值,
甚至沒有加載劍道下拉菜單,在后端我可以看到GetTypes()返回值,但是當涉及到前端時,它顯示如下
欣賞是否可以顯示為此所需的錯誤或修改
我相信這個問題是由於編輯的名字。 不要顯式指定名稱,而是使用 DropDownFor 幫助器並讓小部件為您生成名稱。
例如
@(Html.Kendo().DropDownListFor(x=> x).BindTo((IEnumerable)ViewBag.Types).DataValueField("Id").DataTextField("Name"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.