Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 网格行上的关联菜单未打开_Asp.net Mvc_Telerik_Grid_Contextmenu - Fatal编程技术网

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”

我在论坛中搜索,却找不到我遗漏的一件事

我从您的示例中得到了一个简单的网格实现,我想

在它上面添加一个上下文菜单,但它不起作用(我得到的是常规浏览器上下文菜单)

这是我的代码(ASP.NET MVC)


#: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>