未捕获的TypeError:无法在Grid中读取未定义的属性’replace’

我是使用Kendo Grid和Kendo UI的新手。 我的问题是如何解决此错误

Uncaught TypeError: Cannot read property 'replace' of undefined 

这是我在KendoGrid上的代码

 $("#Grid").kendoGrid({ scrollable: false, sortable: true, pageable: { refresh: true, pageSizes: true }, dataSource: { transport: { read: { url: '/Info/InfoList?search=' + search, dataType: "json", type: "POST" } }, pageSize: 10 }, rowTemplate: kendo.template($("#rowTemplate").html().replace('k-alt', '')), altRowTemplate: kendo.template($("#rowTemplate").html()) }); 

导致错误的行

 rowTemplate: kendo.template($("#rowTemplate").html().replace('k-alt', '')), 

rowTemplate的HTML

     ${ FirstName } ${ LastName }    

谢谢 :)

我认为jQuery无法找到该元素。

首先找到元素

 var rowTemplate= document.getElementsByName("rowTemplate"); 

要么

 var rowTemplate = document.getElementById("rowTemplate"); 

要么

 var rowTemplate = $('#rowTemplate'); 

然后再次尝试您的代码

 rowTemplate.html().replace(....) 

请尝试使用以下代码段。

    Test        

我用不同的方式实现了同样的事情。

可能是因为属性pageable -> pageSizes: true

删除它并再次检查。

在我的情况下,我使用的视图已转换为部分视图,我忘记从“@section脚本”中删除模板。 删除部分块,解决了我的问题。 这是因为这些部分没有在部分视图中呈现。

在模型中定义id很重要

 .DataSource(dataSource => dataSource .Ajax() .PageSize(20) .Model(model => model.Id(p => p.id)) )