为批量编辑生成了错误的类

时间:2013-11-11 13:19:04

标签: grid kendo-ui

奇怪的是。

我的网格似乎并且工作正确,只有非典型的事情是编辑期间的输入具有:

class="text-box single-line"

而不是

class="k-textbox k-input"

如果网格完全相同,就像演示一样。

我不知道它是如何发生的。整个视图的副本 - 没有一些js:

@model IEnumerable<TranslationModel>
@{
    ViewBag.Title = "Translations";
    Layout = "~/Views/Shared/_PrivateLayout.cshtml";
    Html.EnableClientValidation();
}

<h2>Translations</h2>

@(Html.Kendo().Grid<TranslationModel>(Model)
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(e => e.Shortcut).Width(150);
        columns.Bound(e => e.LanguageName).Width(100);
        columns.Bound(e => e.Content);
        columns.Command(command => { command.Custom("ExtraPopUpEdit").Click("ExtraPopUpEdit").Text("..."); }).Width(100);
    })
    .ToolBar(toolbar => {
            toolbar.Save();
        })
    .Editable(editable => editable.Mode(GridEditMode.InCell))
    .Pageable((p => p.PageSizes(new[] { 5 , 10, 20, 50, 100 })))
    .Sortable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(true)
        .PageSize(10)
        .Events(events => events.Error("error_handler"))
        .Aggregates(a =>
        {
            a.Add(e => e.Content.Equals(string.Empty)).Count();
        }
        )
        .Model(model =>
        {
            model.Id(e => e.Id);
            model.Field(e => e.Shortcut).Editable(false);
            model.Field(e => e.LanguageName).Editable(false);
        })
        .Group(g => g.Add(e => e.Shortcut))
        .Read(read => read.Action("Translations_Read", "Admin"))
        .Update(update => update.Action("Translations_Update", "Admin"))
    )
)

2 个答案:

答案 0 :(得分:1)

当使用Html.EditorFor时,ASP.NET MVC会呈现这些类。如果要删除它们,则必须使用editor templates

答案 1 :(得分:0)

我认为你已经自己想出了这个问题,但是对于像我这样有这个问题的其他人的未来参考。我发现的解决方案 - 就像Atanas所说的那样 - 只是将EditorTemplates文件夹从Kendo的发行版复制到你的项目中。它们有12种不同类型的模板(在ascx和cshtml中)。

我复制的目录是在Kendo下载,在\ wrappers \ aspnetmvc \ Examples \ VS2013 \ Kendo.Mvc.Examples \ Views \ Shared \ EditorTemplates中。将其复制到你的〜/ Views / Shared中,根据你的需要删除* .ascx或* .cshtml文件,你就可以了!