单击MVC5中的kendo上下文菜单调用视图

时间:2017-04-18 12:04:36

标签: asp.net-mvc-5 kendo-grid kendo-asp.net-mvc kendo-contextmenu

我在MVC 5页面上实现了一个kendo上下文菜单和网格。我需要通过将请求传递给它来导航到单击编辑的另一个页面。当我尝试调用@ {Html.RenderAction(" NewRequest_Read"," Request");}它前面加载视图以及包含上下文菜单的视图。有人可以告诉我如何解决这个问题

上下文菜单

 @(Html.Kendo().ContextMenu()
        .Name("RequestMenu")
        .Target("#GridRequest")
        .Filter("tr")
        .Orientation(ContextMenuOrientation.Vertical)
        .Animation(animation =>
        {
            animation.Open(open =>
            {
                open.Fade(FadeDirection.In);
                open.Duration(500);
            });
        })
         .Items(items =>
         {
             items.Add()
                 .Text("Edit");

             items.Add()
                  .Text("Cancel");
         })

         .Events(e =>
         {
             e.Select("onSelect");

         })
    )

脚本

function onSelect(e) {
    var grid = $("#GridTeam").data("kendoGrid");


    switch ($(e.item).children(".k-link").text()) {

        case "Edit":
            @{Html.RenderAction("NewRequest_Read", "Request");}

            break;
        case "Cancel":
            grid.removeRow(e.target);
            break;
    }
}

控制器方法

  public ActionResult NewRequest_Read(string id)
        {
            NewRequestViewModel newReqeustViewModel = new NewRequestViewModel();
            return View("NewRequestView", newReqeustViewModel);
        }

1 个答案:

答案 0 :(得分:0)

function onSelect(e) {
var grid = $("#GridTeam").data("kendoGrid");

switch ($(e.item).children(".k-link").text()) {
    case "Edit":
        window.location.href = '@Url.Action("NewRequest_Read", "Request", new { id = //add request id parameter here })';
        break;
    case "Cancel":
        grid.removeRow(e.target);
        break;
}

}