在Asp.Net MVC Razor视图中,我试图在我的Kendo网格上捕获错误事件,但它找不到我在网格下面定义的函数'onError',我看过几个这样的例子工作,但无法让它在我的应用程序中工作。
<div>
<div class="row">
<div class="col-xs-12">
@(Html.Kendo().Grid<OMG.StatisticsTool.Presentation.Web.Models.ManualStats.ManualStatsViewModel>()
.Name("manualStatsGrid")
.Columns(columns =>
{
columns.Bound(stat => stat.Statistic).Width(250);
columns.Bound(stat => stat.Description);
columns.Bound(stat => stat.Instructions).Width(250);
columns.Command(commands =>
{
commands.Edit();
commands.Destroy();
}).Title("Commands").Width(200);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.DataSource(dataSource =>
dataSource.Ajax()
.Events(events => events.Error("onError"))
.Model(model =>
{
model.Id(p => p.Statistic);
model.Field(stat => stat.Description).Editable(false);
})
.Create(create => create.Action("Index_Create", "ManualStats"))
.Read(read => read.Action("Index_Read", "ManualStats"))
.Update(update => update.Action("Index_Update", "ManualStats"))
.Destroy(destroy => destroy.Action("Index_Destroy", "ManualStats"))
)
.Sortable()
.Scrollable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
)
</div>
</div>
<div class="row">
<div class="col-xs-4 col-md-1">
<button class="btn btn-primary" type="submit" id="save">Save</button>
</div>
<div class="col-xs-4 col-md-1">
<button class="btn btn-primary" id="cancel">Cancel</button>
</div>
</div>
<script type="text/javascript">
function onError() {
console.log('had error');
}
</script>
答案 0 :(得分:1)
Grid初始化语句包含在document.ready处理程序中,但如果Grid通过Ajax从局部视图加载,则会立即初始化它。如果在网格之后定义了onError函数,则在网格初始化期间其引用可能不可用。尝试在Grid之前移动函数定义。