5

我正在为剑道菜单使用纯 Razor 样式定义:

@using Kendo.Mvc.UI
@(Html.Kendo().Menu()
    .Name("main-menu")
    .Items(items1 =>
        {
            items1.Add().Text("Home").Url(@Url.Action("Index", "Home"));
            items1.Add().Text("Movements").Items(subs =>
                {
                    subs.Add().Text("Import Data").Action("Import", "VehicleMovementBatch");
                    subs.Add().Text("View Movements");
                });
            items1.Add().Text("Presences");
            items1.Add().Text("Billing");            
            items1.Add().Text("Config").Items(items2 =>
                    {
                        items2.Add().Text("Pricing").Action("Index", "PriceRule");
                        items2.Add().Text("Users");
                    });                           
            items1.Add().Text("Control");
        })
)

我在所有互联网上的任何地方都找不到绝对血腥的东西,甚至暗示了如何正确地做到这一点。我最接近的是用JavaScript对象表示法定义DataSource,带有分隔符,并在运行时将其分配给客户端的网格oj。这绝对是一个很好的例子,只能向所有的神祈祷 API 没有像文档那样极度不足。

4

4 回答 4

7

这就是你需要做的。我自己想出来的,因为我在网上的任何地方都找不到答案。

items1.Add().Text("<hr/>").Encoded(false).Enabled(false);
于 2013-07-31T13:23:29.487 回答
2

< hr /> 在剑道 2014.1.528 中对我不起作用

这样做:

children.Add().Text("<div class='k-separator'></div>").Encoded(false).Enabled(false);

所以一个例子是:

items.Add().Text("Menu X").ImageUrl(Url.Content("~/Content/img/menux_16E.png"))
    .Items(children =>
     {
         children.Add().Text("Item 1").ImageUrl(Url.Content("~/Content/img/item1_16E.png"));
         children.Add().Text("<div class='k-separator'></div>").Encoded(false).Enabled(false);
         children.Add().Text("Item 3").ImageUrl(Url.Content("~/Content/img/item3_16E.png"));
     });
于 2014-06-03T16:54:53.467 回答
0

为了帮助将来遇到此问题的任何人,您可以使用以下内容直接添加分隔符:

items.Add().Separator(true);

这至少从 v2013.2.918 开始有效,因为这就是我正在使用的。

贾斯汀

于 2016-04-14T02:20:09.537 回答
0

我有 v2016.3.914 并items.Add().Separator(true);在 RTL 页面上创建了不需要的水平滚动条。
在此处输入图像描述

我用这个解决了它:

inner.Add().Separator(true).HtmlAttributes(new { style = "width: 99%;" });
于 2016-10-18T12:33:27.467 回答