jquery - Kendo UI Web 和 Kendo UI ASP.NET for MVC 之间的区别

标签 jquery asp.net-mvc-4 kendo-ui telerik-mvc

通过 Visual Studio 创建 MVC 项目时, View 是使用“.cshtml”文件创建的。

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

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

您似乎还可以使用 KendoUI Web 工具集(其名称不会更改)的选择器来使用 jQuery,而不是 KendoUI Server Wrappers。您只是不知道 KendoUI 服务器包装器中的 jQuery 选择器是什么。

我发现针对 KendoUI 服务器包装器进行编程非常困难(尽管它们应该更容易、更快地实现),因为您需要特定扩展来处理不同的事件,并且不知道选择器的名称是。 KendoUI Web 工具集似乎并非如此。

最佳答案

简单地说,Kendo UI Web对任何可以支持javascript/jQuery的框架开放,但Kendo UI Server Wrappers/Kendo UI ASP.NET for MVC 仅适用于 ASP.NET MVC 项目。

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

Kendo UI Web 可以免费使用,而服务器包装器(ASP.NET MVC 的 Kendo UI)需要为每个开发人员付费许可。

剑道网格的代码差异的简单示例如下:

使用服务器包装器

@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"))
    )
)

使用 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>

您可以检查渲染的网格here .

有关 server wrappers 的更多详细信息和 Kendo UI Web .

关于jquery - Kendo UI Web 和 Kendo UI ASP.NET for MVC 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19308815/

相关文章:

javascript - 使用 NodeJS 在 JQuery 中查找复选框

jquery - 淡入时 IE 在 PNG 周围显示黑色边框

javascript - 使用 Javascript 将 CSV 数据转换为 JSON 格式

javascript - 以某种方式在 iOS Safari 上暂停或 sleep javascript

javascript - 选择相同的下拉选项时,更改事件上的 Jquery 未触发

entity-framework - 类型 Nullable<Int32> 和 Int32 之间未定义二元运算符 Equal

asp.net-mvc - asp.net mvc 4 通过按钮从 Controller 调用方法

html - Kendo UI Mobile - "data-click"属性在 ListView 中的 anchor 标记上被忽略

javascript - 运行小部件时是否需要开源的 kendo.core.js?

asp.net-web-api - 即使定义了页面大小,Kendo Grid 也会显示所有记录