Asp.net mvc 网格行上的关联菜单未打开
我在论坛中搜索,却找不到我遗漏的一件事 我从您的示例中得到了一个简单的网格实现,我想 在它上面添加一个上下文菜单,但它不起作用(我得到的是常规浏览器上下文菜单) 这是我的代码(ASP.NET MVC)Asp.net mvc 网格行上的关联菜单未打开,asp.net-mvc,telerik,grid,contextmenu,Asp.net Mvc,Telerik,Grid,Contextmenu,我在论坛中搜索,却找不到我遗漏的一件事 我从您的示例中得到了一个简单的网格实现,我想 在它上面添加一个上下文菜单,但它不起作用(我得到的是常规浏览器上下文菜单) 这是我的代码(ASP.NET MVC) #:OrderID# #:运费# #:订单日期# #:船名# #:船市# var rowTemplate=kendo.template($('#rowTemplate').html(); @(Html.Kendo().Grid()) .Name(“AgilePointDashboardGrid”
#:OrderID#
#:运费#
#:订单日期#
#:船名#
#:船市#
var rowTemplate=kendo.template($('#rowTemplate').html();
@(Html.Kendo().Grid())
.Name(“AgilePointDashboardGrid”)
.列(列=>
{
columns.Bound(p=>p.OrderID).Filterable(false);
绑定列(p=>p.Freight);
columns.Bound(p=>p.OrderDate).Format(“{0:MM/dd/yyyy}”);
columns.Bound(p=>p.ShipName);
columns.Bound(p=>p.ShipCity);
})
.ClientRowTemplate(“#=行模板(数据)#”)
.Pageable()
.Sortable()
.Scrollable()
.可过滤()
.HtmlAttributes(新的{style=“height:550px;”})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(20)
.Read(Read=>Read.Action(“Orders\u Read”,“Grid”))
)
)
@(Html.Kendo().ContextMenu())
.名称(“菜单”)
.Target(“AgilePointDashboardGrid”)
.Filter(“.orderRow”)
.方向(ContextMenuOrientation.水平)
.项目(项目=>
{
items.Add()
.文本(“转发”);
})
)
$(文档).ready(函数(){
变量菜单=$(“#菜单”);
var original=menu.clone(true);
原始.find(“.k-state-active”).removeClass(“k-state-active”);
var initMenu=函数(){
menu=$(“#menu”).kendoContextMenu({
目标:“AgilePointDashboardGrid”,
筛选器:“.orderRow”,
选择:功能(e){
//选择做某事
}
});
};
initMenu();
});
我很想知道我错过了什么
谢谢最终我用JavaScript方式而不是MVC方式“解决”了它。如果我能找到上面不起作用的原因,我会更新这个答案来说明这两个方面
我是这样解决的:
<ul id="context-menu">
<li>Edit</li>
<li>
Delete
<ul>
<li>Logical deletion</li>
<li>Permanent deletion</li>
</ul>
</li>
</ul>
<script>
$("#context-menu").kendoContextMenu({
target: "#grid",
filter: "tr[role='row']",
select: function(e) {
var grid = $("#grid").data("kendoGrid");
var model = grid.dataItem(e.target);
console.log(model);
}
});
</script>
- 编辑
-
删除
- 逻辑删除
- 永久删除
$(“#上下文菜单”).kendoContextMenu({
目标:“网格”,
筛选器:“tr[role='row']”,
选择:功能(e){
var grid=$(“#grid”).data(“kendoGrid”);
var模型=grid.dataItem(即目标);
console.log(模型);
}
});
<ul id="context-menu">
<li>Edit</li>
<li>
Delete
<ul>
<li>Logical deletion</li>
<li>Permanent deletion</li>
</ul>
</li>
</ul>
<script>
$("#context-menu").kendoContextMenu({
target: "#grid",
filter: "tr[role='row']",
select: function(e) {
var grid = $("#grid").data("kendoGrid");
var model = grid.dataItem(e.target);
console.log(model);
}
});
</script>