0

我有一个剑道PanelBar,目前有两个面板。在 Ist 面板中,我有一个 Kendo TreeView,在第二个面板中,我有多个 Kendo AutoComplete。现在我必须在每个上方插入标签AutoComplete以显示一些信息,还必须插入一个按钮来对AutoCompletes 的内容执行操作。我找不到为此编写我的 HTML 的地方。

这是我呈现 PanelBar 的 .cshtml 代码

@{Html.Kendo().PanelBar()
      .Name("PanelBar")
      .ExpandMode(PanelBarExpandMode.Single)
      .Items(item =>
           {
               item.Add()
                   .Text("My Cloud")
                   .Content(() =>
                   {
                       Html.Kendo().TreeView()
    .Name("serverTree")
    .DragAndDrop(false)
    .ExpandAll(true)
    .Events(events => events
               .Select("onSelect")
     )

    .BindTo(Model as System.Collections.IEnumerable, (Kendo.Mvc.UI.Fluent.NavigationBindingFactory<TreeViewItem> mappings) =>
    {
       ...

//removed for brevity
       ...
    }).Render();
                   });


               item.Add()
                   .Text("Search")
                   .Content(() =>
                   {
//this is where I need to insert a label

                       Html.Kendo().AutoComplete()
          .Name("Category")
          .Filter("startswith")
          .Placeholder("Enter Category...")
          .BindTo(new string[] {
                "Albania",
                "Andorra",
                "Armenia",
                "Austria",
                "Azerbaijan",
                "Belarus",
                "Belgium",
                "Bosnia & Herzegovina",
                "Bulgaria"
          })

          .Separator(", ").Render();
//another label
                       Html.Kendo().AutoComplete()
         .Name("SubCategory")
         .Filter("startswith")
         .Placeholder("Enter SubCategory...")
         .BindTo(new string[] {
                "Albania",
                "Andorra",
                "Armenia",
                "Austria",
                "Azerbaijan",
                "Belarus",
                "Belgium",
                "Bosnia & Herzegovina",
                "Bulgaria"
          })

         .Separator(", ").Render();

         //another label

        Html.Kendo().AutoComplete()
        .Name("Keywords")
        .Filter("startswith")
        .Placeholder("Enter keywords...")
        .BindTo(new string[] {
                "Albania",
                "Andorra",
                "Armenia",
                "Austria",
                "Azerbaijan",
                "Belarus",
                "Belgium",
                "Bosnia & Herzegovina",
                "Bulgaria"
          })

        .Separator(", ").Render();

//And finally the button                  

 });


           })
           .Render();
}
4

1 回答 1

4

我用 Ajax 内容加载器做到了这一点:

http://demos.kendoui.c​​om/web/panelbar/ajax.html

我编写了想要在局部视图中显示的 html,并使用 Kendo 的 ajax 调用它:

@(
    Html.Kendo().PanelBar()
        .Name("panelbar")
        .ExpandMode(PanelBarExpandMode.Single)
        .Items(panelbar =>
            panelbar
                .Add()
                .Text("BODY")
                .LoadContentFrom(Url.Content("somepartialviewURL")))
)

您拉入的部分视图可以在 html 中具有 KendoUI 自动完成和它之前的标签。

于 2013-06-24T21:49:54.447 回答