Telerik MVC Menu Control - Авто Ширина - PullRequest
       9

Telerik MVC Menu Control - Авто Ширина

0 голосов
/ 07 сентября 2011

Я пытаюсь использовать элемент управления Telerik MVC Menu (в виде панели кнопок), но не могу установить ширину для автоматической генерации. Я имею в виду, что меню продолжается до конца DIV. Я бы хотел, чтобы меню было таким же широким, как сумма значений ширины кнопок. На самом деле, демо Telerik делает то же самое, что и мое меню:

http://demos.telerik.com/aspnet-mvc/razor/menu/sitemapbinding (Посмотрите, как меню продолжается справа от «Другие линии продуктов»).

Вот мое меню:

    @{ Html.Telerik().Menu()
            .Name("case-history-button-menu")
            .ClientEvents(events => events.OnSelect("onCaseHistoryMenuBarSelect"))
            .Items(menu =>
            {
                menu.Add()
                    .Text("Add a Response").HtmlAttributes(new { id = "cases-history-addresponse" } ); @*Sets the ID HTML attribute so we can access it *@
                menu.Add()
                    .Text("Add a Comment").HtmlAttributes(new { id = "cases-history-button-addcomment" }); ;
                menu.Add()
                    .Text("Back to Cases").HtmlAttributes(new { id = "cases-history-button-back" }); ;
            })
            .Render();
    }

Я понимаю, что могу просто жестко кодировать мою ширину ... но когда я добавляю или удаляю кнопки (программно), я хочу изменить размер меню.

1 Ответ

2 голосов
/ 08 сентября 2011

Меню Telerik MVC отображается как элемент <UL>. Последний по умолчанию имеет блочный дисплей, что означает, что он занимает все доступное пространство. Вы можете переопределить отображение на «inline-block», а затем размер меню должен быть таким, как вам нужно:

   @{ Html.Telerik().Menu()
            .Name("case-history-button-menu")
            // set the display to inline-block
            .HtmlAttributes( new { style = "display: inline-block" } )
    }

Имейте в виду, что более старые версии IE не допускают отображение в виде встроенных блоков. Вам может понадобиться «встроенный», если вы должны поддерживать более старые IE.

...