8

通过 Visual Studio 创建 MVC 项目时,会使用“.cshtml”文件创建视图。

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

两者有什么区别?我只是不了解 KendoUI Web 概念以及它是如何工作的。自适应渲染如何创建“.cshtml”文件的多个副本以在特定设备上渲染。KendoUI Web 是如何实现的?

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

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

4

3 回答 3

17

简而言之,Kendo UI Web对任何可以支持的框架都是开放的,但Kendo UI Server Wrappers javascript/ Kendo UI ASP.NET for MVC仅适用于项目。jQueryASP.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"))
    )
)

使用剑道 UI 网页

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

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

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

于 2013-10-11T02:01:19.557 回答
1

嗯,HaBo 基本上都说了。服务器包装器非常适合那些(像我一样)在编码时喜欢“懒惰”的人。我更喜欢用包装器做事的流利方式,而不是纯 javascript 方式。

也就是说,您应该记住,KendoUI MVC Wrappers 并不是灵丹妙药。如果您不了解 javascript,您可能会发现自己对使用 KendoUI 框架可以做什么感到茫然。

对我来说,我一直在使用包装器和 javascript(例如,使用“事件”)来做更多“高级”的东西之间找到平衡。:)

于 2013-10-11T13:48:28.767 回答
0

我知道这是一个相当古老的问题,但我认为我的回答会增加价值(因为它包含更新的信息)。

Telerik 的文档中有这个页面很好地解释了 Kendo-UI 与其服务器端包装器(尤其是 ASP.NET MVC 包装器)之间的比较。

此外,关于选择器名称,实际上包装器要求您指定一个名称(将呈现为id元素的属性)。Telerik 的文档和论坛也有一些必要的 CSS 选择器,您可以在必要时使用 CSS。你只需要用谷歌搜索它。例如这里是您可以找到 CSS 选择器以修改 Kendo Grid 标题行为的页面。

希望能帮助到你

于 2015-05-13T15:21:53.537 回答