如何将自定义按钮绑定到JavaScript函数?我在网格中的每一行上都看到了按钮,但单击按钮会刷新页面,并在当前URL后附加“/ 0”。它不会调用JavaScript函数“RedirectCreateReport”。这是我的剑道网格:
@(Html.Kendo().Grid(Model)
.Name("MyGrid")
.Columns(columns =>
{
columns.Bound(p => p.Name).Title("Name");
columns.Bound(p => p.Description).Title("Description");
columns.Command(command =>
{
command.Custom("CreateReport").Text("Submit Report").Click("RedirectCreateReport");
}).Title("Actions");
})
...
.ColumnMenu()
.Groupable())
@section scripts {
<script type="text/javascript">
$(document).ready(function () {
$(".RedirectCreateReport").click(function () {
alert("a");
var item = $("#MyGrid").data("kendoGrid").dataItem($(this).closest("tr"));
window.location.href = "/Report/Create?P=" + item;
});
});
</script>
}
答案 0 :(得分:1)
我找到了一个问题的答案:抛弃自定义按钮。使用ActionLink作为按钮设置:
columns.Template(
p => @Html.ActionLink(
"New Report",
"Create",
"Report",
new { ID = p.Id.ToString() },
htmlAttributes:
new { @class = "k-button k-button-icontext k-grid-NewReport" }
).ToHtmlString()
);
此代码替换行columns.Command(command =&gt; ...)。Title(&#34; Actions&#34;); 不需要JavaScript。