.NET Core中Kendo UI Grid列模板使用问题(MVC中正常)
.NET Core下Kendo Grid列模板报错的解决方法
这个报错是因为.NET Core版本的Kendo Grid API和传统.NET MVC版本存在差异,Template方法的签名逻辑变了,不再支持m => null这种占位写法。
解决方案分两种情况:
1. 仅需要客户端模板(无服务器端渲染需求)
如果你的场景只需要客户端模板,完全可以去掉多余的.Template(m => null),直接在列上调用ClientTemplate:
@(Html.Kendo().Grid<Model>() .Method(...) // 保留你原有的Method配置 .Columns(c => { c.ClientTemplate("").Title("").Width(10); }) )
2. 需要同时使用服务器端模板和客户端模板
如果确实需要服务器端渲染内容,.NET Core要求Template方法使用@<text>块来定义模板内容(哪怕是空内容):
@(Html.Kendo().Grid<Model>() .Method(...) .Columns(c => { c.Template(@<text></text>).Title("").Width(10) .ClientTemplate(""); // 填入你的客户端模板内容 }) )
原因说明
传统.NET MVC的Kendo Grid允许用Template(m => null)作为占位符来后续绑定客户端模板,但.NET Core版本的封装对类型检查更严格,要求Template方法的参数必须是有效的模板委托,不能直接返回null。
内容的提问来源于stack exchange,提问作者Lucky
相关产品推荐
相关产品推荐

