用于MVC的Kendo UI Web和Kendo UI ASP.NET之间的区别

sag*_*y36 7 jquery telerik-mvc asp.net-mvc-4 kendo-ui

通过Visual Studio创建MVC项目时,将使用".cshtml"文件创建视图.

KendoUI Server Wrappers在View中有一个模型,而KendoUI Web不仅没有任何模型,而且没有".cshtml"文件; 只有HTML.HTML似乎只是指向数据检索/更新的数据源,而KendoUI Server Wrappers需要一个模型传递给控制器​​以进行相同类型的操作.

两者有什么区别?我只是不明白KendoUI Web概念及其工作原理.如何在自适应渲染中创建".cshtml"文件的多个副本,以便在特定设备上呈现.如何通过KendoUI Web实现这一目标?

您还可以使用jQuery使用KendoUI Web工具集的选择器(其名称不会更改),而不是KendoUI Server Wrappers.你只是不知道jQuery选择器与KendoUI Server Wrappers有什么关系.

我发现很难对KendoUI Server Wrappers进行编程(即使它们应该更容易和更快地实现),因为特定扩展需要处理不同的事件而不知道选择器名称是什么.这似乎不是KendoUI Web工具集的情况.

HaB*_*aBo 17

简单地说,剑道UI网络是开放的,可以支持任何框架javascript/ jQuery剑道UI服务器封装器/剑道UI ASP.NET MVC的ASP.NET MVC唯一的项目.

使用Kendo UI Web需要大量额外的编码和处理,而MVC版本更易于开发人员,更易于维护.如果您正在使用ASP.NET MVC项目,那么您可以使用服务器包装器轻松编写代码.

Kendo UI web可以免费使用,而Server包装器(ASP.NET MVC的Kendo UI)需要每个开发人员支付许可证.

一个简单的kendo网格代码差异示例如下:

与服务器包装器

@model IEnumerable<Kendo.Mvc.Examples.Models.ProductViewModel>

@(Html.Kendo().Grid(Model)    
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.ProductID).Groupable(false);
        columns.Bound(p => p.ProductName);
        columns.Bound(p => p.UnitPrice);
        columns.Bound(p => p.UnitsInStock);
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("Products_Read", "Grid"))
    )
)
Run Code Online (Sandbox Code Playgroud)

与Kendo UI Web

<script>
    $(document).ready(function() {
        $("#grid").kendoGrid({
            dataSource: {
                data: createRandomData(50),
                pageSize: 10
            },
            groupable: true,
            sortable: true,
            pageable: {
                refresh: true,
                pageSizes: true
            },
            columns: [ {
                field: "FirstName",
                width: 90,
                title: "First Name"
            } , {
                field: "LastName",
                width: 90,
                title: "Last Name"
            } , {
                width: 100,
                field: "City"
            } , {
                field: "Title"
            } , {
                field: "BirthDate",
                title: "Birth Date",
                template: '#= kendo.toString(BirthDate,"dd MMMM yyyy") #'
            } , {
                width: 50,
                field: "Age"
            } ]
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

您可以在此处检查渲染的网格.

有关服务器包装器Kendo UI Web的更多详细信息.

  • 我已经用服务器包装器完成了一个生产项目.但是,我觉得很困难的是当你需要使用服务器包装器处理事件时(比如OnItemDataBound用于网格检查每条记录并对其执行某些操作等).所有示例都与KendoUI Web有关.另外,我不知道如何使用jquery对mvc包装器对象做任何事情,因为我不知道选择器名称是什么.使用KendoUI Web,您实际上为扩展名提供了名称并知道它是什么.关于如何使用服务器包装器知道扩展选择器的任何建议? (4认同)