剑道网格-调用javascript函数时出错:";javascript运行时错误:';funcName';是未定义的“;
我有一个剑道网格,我正在尝试在选择一行之后测试javascript函数调用剑道网格-调用javascript函数时出错:";javascript运行时错误:';funcName';是未定义的“;,javascript,kendo-grid,kendo-asp.net-mvc,Javascript,Kendo Grid,Kendo Asp.net Mvc,我有一个剑道网格,我正在尝试在选择一行之后测试javascript函数调用 <div id="datagrid"> @(Html.Kendo().Grid(Model) .Name("datagrid_Concessoes") .Columns(columns => { columns.Bound(c => c.Id).Width(70); columns.Bound(
<div id="datagrid">
@(Html.Kendo().Grid(Model)
.Name("datagrid_Concessoes")
.Columns(columns =>
{
columns.Bound(c => c.Id).Width(70);
columns.Bound(c => c.Code).Title("Código");
columns.Bound(c => c.Description).Title("Descrição");
columns.Bound(c => c.CreationDate).Title("Data de Criação");
columns.Bound(c => c.CreationUser).Title("Criado por");
})
.HtmlAttributes(new { style = "height: 534px;" })
.Scrollable()
.Sortable()
.Selectable()
.Events(e => e.Change("test"))
.Pageable(pageable => pageable
.Refresh(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(15)
.Read(read => read.Action("GetConcessoes", "MasterData"))
)
)
</div>
当网格即将显示时,我得到一个javascript运行时错误:“test”未定义。我试着说:
.Events(e => e.Change("test"))
.Events(e => e.Change("test()"))
但是如果运气不好,网格可能会在加载时立即触发一个Change
事件,如果您的java脚本函数都是在页面底部定义的,那么它们可能还不可用
解决方法是将text()
函数向上移动到此网格上方,以确保已定义它 这很奇怪,但根据telerik forum()中的一个bug报告,它在jQuery 1.7.2版中运行良好。试试1.7.2版,看看它能不能工作。你使用的是哪个版本的剑道ui和jqeury?你能试着把函数放在网格的前面,看看会发生什么吗?可能只是函数没有定义yet@mo.esmp,kendoUi
是最新版本,jquery
是1.7。1@AndrewWalters,我把它放在视图的顶部,它工作了!(?!)为什么?因为我在视图代码的底部有另一个函数,它工作得很好!网格试图在函数出现在页面上之前调用该函数,最有可能是+1,用于更新jQuery版本的链接和建议
.Events(e => e.Change("test"))
.Events(e => e.Change("test()"))