许多纯html示例都是指并使用Kendo UI网格的命令 imageClass属性:
attributes
});
我正在使用Kendo UI ASP MVC版本,似乎没有设置此属性。我错过了什么?
如果这真的丢失了(我希望不是),我怎么能在javascript中设置这个属性呢? (我想保留我的html帮助器渲染,而不是在javascript中执行所有,该解决方案显而易见......)
答案 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();
}
<强>结果强>
其他测试
使用$(".k-grid-edit").find("span").addClass("k-icon k-i-cancel ob-icon-only");