如何将模型绑定到kendo网格数据源

时间:2013-08-07 06:26:55

标签: model kendo-ui schema datasource kendo-grid

我使用asp.net mvc4和kendo ui工具开发了一个Web应用程序..

在那里我需要直接将模型绑定到网格数据源或模式,而无需在模式中创建字段。

这是我网格的代码..

function LoadGridView() {

        dataSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: "Items/ReadItemDetails",
                    dataType: "json"
                },
                create: {
                    url: "Items/InsertItemDetails",
                    dataType: "json"
                },
                update: {
                    url: "Items/UpdateItemDetails",
                    Type: "POST",
                    dataType: "jsonp"
                },
                destroy: {
                    url: "Items/DeleteItemDetails",
                    dataType: "json"
                }
            },

            batch: true,
            pageSize: 30,
            schema: {
                model: {
                    id: "ItmKy",
                    fields: {
                        ItmCd: { editable: true, nullable: true },
                        ItmNm: { editable: true, nullable: true },
                        Unit: { editable: true, nullable: true },
                        isAct: { editable: true, nullable: true }
                    }
                }
            }
        });
}

我需要将模型名称传递给架构而不是此行

schema: {
                    model: {
                        id: "ItmKy",
                        fields: {
                            ItmCd: { editable: true, nullable: true },
                            ItmNm: { editable: true, nullable: true },
                            Unit: { editable: true, nullable: true },
                            isAct: { editable: true, nullable: true }
                        }
                    }
                }

我试过这样但是网格不起作用..

schema: {
                    model: @Model
                }

有人可以帮助我并告诉我如何可能将模型绑定到架构或DataSource ...

这是模型类

namespace KendoModel
{
    public class ItemMas_LookUp 
    {
        public long ItmKy { get; set; }
        public string ItmCd { get; set; }
        public string ItmNm { get; set; }
        public int UnitKy { get; set; }
        public int isAct { get; set; }
        public string Unit { get; set; }

        public ItemMas_LookUp() 
        {

        }
    }
}

1 个答案:

答案 0 :(得分:1)

这就是我在纯JS中做到的,没有后端组件:

我的模特:

var PageItem = kendo.data.Model.define({
    id: "Id"
});

我的数据源(在同一范围内!):

var pageItemDs = new kendo.data.DataSource({
    transport: {
        ...
    },
    schema: {
        model: PageItem
    }
});

如果你想使用ASP.NET组件,你需要在Razor中定义网格本身,你不能像你想要的那样混合JS和Razor。