如何使用html helper获取kendotreeview选择的kendogrid

时间:2014-11-10 12:03:34

标签: jquery asp.net-mvc-4 kendo-ui kendo-grid kendo-treeview

我是这个kendo ui框架和telerik docs的新手,我找不到我正在寻找的解决方案。现在我通过使用html helper创建了一个树视图,如下所示,我的要求是如果我选择任何一个节点,我必须在右侧(或任何下方或)获得一个网格如何得到它,我做的代码是正确的现在如下所示

@(Html.Kendo().TreeView()
      .Name("treeview") //The name of the treeview is mandatory. It specifies the "id" attribute of the widget.
      .Items(items =>
      {
          items.Add().Text("SystemModelling"); //Add item with text "Item1")
          items.Add().Text("SystemConfiguration") //Add item with text "Item2")
              .Items(it => it.Add().Text("Root"));

          items.Add().Text("Domains"); //Add item with text "Item1")
          items.Add().Text("Roles"); //Add item with text "Item2")
          items.Add().Text("Users"); //Add item with text "Item1")

      })
      .Events(ev=>ev.Select("treeview_select"))
)

<script>
    $(function () {
        // Notice that the Name() of the treeview is used to get its client-side instance
        var treeview = $("#treeview").data("kendoTreeView");
    });
</script>

我必须在treeview_select事件中做什么编码?

修改

ONe简单怀疑哪个是在kendo ui中工作的最佳方式,是否使用Html帮助器或kendo javascript.IF帮助器是一个包装器然后helper和javascript之间有什么区别

1 个答案:

答案 0 :(得分:0)

您需要在PartialView中创建网格,然后在treeView中选择一个节点时读取id:

  1. 在treeView(Index.cshtml)的右侧,您必须创建适合您网格的容器,例如:

    <div id="GridContainer"></div>
    
  2. 在PartialView中,将其命名为。 Grid.cshtml您正在使用Html.Helper创建网格,例如this kendoGrid demo

  3. 在控制器中,您宣布要像这样阅读此PartialView的操作:

    public partial class GridController : Controller 
    {
        [HttpPost]
            public PartialViewResult Grid()
            {
                return PartialView();
            }
    }
    
  4. 在Index.html中,您可以在Index.html中隐藏隐藏,以确保您的PartialView网址正确无误:

    @Html.Hidden("GridURL", Url.Action("Grid", "Grid"))
    
  5. 您正在创建JavaScript函数以使用ajax()在treeView select上读取此网格:

    <script>
        function treeview_select(e){
            $.ajax({
                url: $("#GridURL").val(),
                type: "POST",
                success: function (result) {
                    $("#GridContainer").html(result);
                }
            });
        }
    </script>