簡體   English   中英

劍道網格的內聯劍道下拉值不綁定

[英]Kendo Grid's Inline Kendo Dropdown values not binding

我只是想創建一個帶有內聯劍道下拉菜單的劍道網格。 像下面這樣

示例 1

示例 2

在此處輸入圖像描述

我保留數據庫值如下

在此處輸入圖像描述

所以,我這樣創建的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM