1>我有kendo网格,其中一个列有一个按钮。我已经为按钮的onclick事件分配了javascript函数。 javascript进行ajax调用。但是当我点击按钮时出现错误
0x800a138f - JavaScript运行时错误:属性' DoSomething'是null或undefined,不是Function对象
我尝试设置onclick到" javascript:DoSomething();"没有运气
2 - ;我还想通过" BatchKey"如果可能,给函数赋值
<div>
@(Html.Kendo().Grid< BatchDetail>()
.Name("grid")
.Columns(col =>
{
col.Bound(p => p.BatchKey);
col.Bound(p => p.OriginalCost);
col.Bound(p => p.Status);
col.Bound(p => p.LastFileName);
col.Bound(p => p.FileID).ClientTemplate(
"# if (Status == \"Error\") { #" +
"<button id=\"btnResolve\" class=\"resolve-button\" onclick=\"DoSomething();\">Resolve</button>" +
"#}#"
).Title("Action");
})
.AutoBind(true)
.Pageable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read
.Action("GetData", "Detail", new { ID = Model.ID })))
)
</div>
function DoSomething()
{
$.ajax({
url: "www.msn.com",
success: function (result)
{
$("#div1").html(result);
}
})
}
答案 0 :(得分:0)
按钮ID必须是唯一的,因此您不能像这样使用它。您可以像这样传递BatchKey:
col.Bound(p => p.FileID).ClientTemplate(
"# if (Status == \"Error\") { #" +
"<button class=\"resolve-button\" onclick=\"DoSomething(this, '#= BatchKey #');\">Resolve</button>" +
"#}#"
).Title("Action");
function DoSomething(button, batchKey)
{
$.ajax({
url: "www.msn.com",
success: function (result)
{
$("#div1").html(result);
}
})
}
我已经在我自己的网格上测试了它,它运行正常。如果它仍然不起作用,那么除了您发布的内容之外,代码存在问题。