ASP MVC助手中缺少Kendo UI grid command.imageClass

时间:2015-05-06 13:42:09

标签: .net asp.net-mvc kendo-ui kendo-grid

许多纯html示例都是指并使用Kendo UI网格的命令 imageClass属性:

attributes

});

我正在使用Kendo UI ASP MVC版本,似乎没有设置此属性。我错过了什么?

如果这真的丢失了(我希望不是),我怎么能在javascript中设置这个属性呢? (我想保留我的html帮助器渲染,而不是在javascript中执行所有,该解决方案显而易见......)

enter image description here

2 个答案:

答案 0 :(得分:1)

你不会在MVC助手中使用imageClass;你会使用HtmlAttributes属性。您可以这样定义:

columns.Command(o => o.Edit().Text("")
.HtmlAttributes(new { @class = "k-icon k-i-pencil ob-icon-only" }));
祝你好运。

编辑:为什么不修改css来容纳它?

.ob-icon-only span{ }

关于将kendo类添加到内部span元素,您可以在数据绑定上执行此操作并相应地修改元素。

答案 1 :(得分:1)

指定自定义样式最方便的方法是使用自动生成的k-grid-NAME_OF_COMMAND类。如果这不适合当前的实现,我建议你绑定到dataBound事件并在那里附加类。取消编辑后,使用OnCancel事件再次替换图标。

<强>实施例

.Events(e => e.DataBound("onDataBound").Cancel("onCancel"))

的JavaScript

function onDataBound(e) {
    $(".k-grid-NAME_OF_COMMAND").addClass("k-icon k-i-pencil ob-icon-only");
}

或者

function onDataBound(e) {
    $(".k-grid-edit").find("span").removeClass("k-icon k-edit");
    $(".k-grid-edit").find("span").addClass("k-icon k-i-pencil ob-icon-only");
}

添加取消事件以确保取消编辑时图标保持不变。

function onCancel(e) {
    e.preventDefault();
    e.sender.refresh();
}

<强>结果

Edit Icon

其他测试

使用$(".k-grid-edit").find("span").addClass("k-icon k-i-cancel ob-icon-only");

Cancel Icon