8

Visual Studio で MVC プロジェクトを作成すると、ビューは ".cshtml" ファイルで作成されます。

KendoUI サーバー ラッパーにはビューにモデルがありますが、KendoUI Web にはモデルがないだけでなく、".cshtml" ファイルもありません。HTMLのみ。HTML は、データの取得/更新用のデータソースを指しているように見えますが、KendoUI サーバー ラッパーは、同じタイプの操作のためにコントローラーに渡すモデルが必要です。

2つの違いは何ですか?KendoUI Web の概念とその仕組みがわかりません。特定のデバイスでレンダリングするために「.cshtml」ファイルの複数のコピーを作成するアダプティブ レンダリングについてはどうですか。それはKendoUI Webでどのように達成されますか?

また、KendoUI サーバー ラッパーとは対照的に、KendoUI Web ツールセット (名前は変更されません) のセレクターを使用して jQuery を使用できるようです。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 は無料で使用できますが、サーバー ラッパー (Kendo UI for ASP.NET MVC) は開発者ごとに有料ライセンスが必要です。

剣道グリッドのコードの違いの簡単な例を以下に示します。

サーバーラッパーを使用

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

レンダリングされたグリッドはこちらで確認できます。

サーバー ラッパーKendo UI Webの詳細。

于 2013-10-11T02:01:19.557 に答える
1

まあ、基本的にHaBoはそれをすべて言った。サーバー ラッパーは、(私のように) コーディングを「怠け者」にするのが好きな人に最適です。私は、純粋な JavaScript の方法とは対照的に、ラッパーを使用して物事を行う流暢な方法を好みます。

とはいえ、KendoUI MVC ラッパーは特効薬ではないことに注意してください。JavaScript の使い方がわからない場合は、KendoUI フレームワークで何ができるか分からないかもしれません。

私にとっては、より「高度な」ことを行うために、ラッパーと JavaScript の使用 (たとえば、「イベント」の使用) のバランスを見つけてきました。:)

于 2013-10-11T13:48:28.767 に答える