【发布时间】:2021-02-12 09:50:35
【问题描述】:
我只是想创建一个带有内联剑道下拉菜单的剑道网格。像下面这样
我保留如下数据库值
所以,SampleModel,我是这样创建的,我只在数据库中保留 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; }
}
这是包含的网格代码sn-p,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"))
)
)
这是我的编辑器模板代码 sn-p
@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() 返回值,但是当涉及到前端时,它显示如下
感谢您是否可以显示为此所需的错误或修改
【问题讨论】:
标签: c# asp.net-mvc kendo-ui kendo-grid