#asp.net #asp.net-mvc #telerik
#asp.net #asp.net-mvc #telerik
Вопрос:
У меня есть следующее расширение меню Telerik MVC, и оно ведет себя так, как ожидалось, в одном проекте, а не в другом. Я безуспешно пытался определить различия между проектами, и я даже скопировал и вставил меню из рабочего проекта в нерабочий.
Когда я говорю «рабочий» и «нерабочий», я имею в виду, что в рабочем проекте стиль меню выглядит правильно, а при наведении курсора мыши на пункт меню раскрываются подпункты. В нерабочем проекте оформление выглядит незавершенным, и наведение курсора мыши на пункт меню ничего не дает.
<div style="text-align: left; clear: left;">
@(Html.Telerik().Menu()
.Name("TopMenu")
.Orientation(MenuOrientation.Horizontal)
.Items(menu =>
{
menu.Add().Text("Rate Cards").Action("Index", "RateCard");
menu.Add().Text("Campaigns").Action("Index", "Campaign");
menu.Add().Text("Contracts").Action("Index", "Contract").Enabled(false);
menu.Add().Text("Sites").Action("Index", "Site");
menu.Add().Text("Products").Action("Index", "Product");
menu.Add().Text("Config").Items(submenu =>
{
submenu.Add().Text("Suburbs").Action("Index", "Suburb");
submenu.Add().Text("Cities").Action("Index", "City");
submenu.Add().Text("Provinces").Action("Index", "Province");
});
})
.HighlightPath(true)
.ItemAction(item =>
{
if (item.Selected)
item.HtmlAttributes["class"] = "t-state-selected";
})
)
</div>
Ответ №1:
пожалуйста, отследите файлы javascript, загруженные как в рабочий, так и в нерабочий проект. Меню довольно простое и не использует какую-либо модель (набор статических текстовых значений), поэтому единственное, что может создать проблему, — это отсутствие js-файла
Комментарии:
1. Спасибо. Я уже обнаружил, что пропустил вызов ScriptRegistrar.
Ответ №2:
Вероятно, не удалось загрузить файл JavaScript или CSS (возможно, оба).
Проверьте с помощью какой-либо программы для веб-разработчика (FireBug, IE или Chrome dev tools), нет ли сбоев в HTTP-запросах. Также, если вы используете комбинацию ресурсов, убедитесь, что HTTP-обработчик asset.axd правильно зарегистрирован в вашем web.config. Проверьте эту справочную статью для правильной настройки.
Ответ №3:
Просто добавьте это в конце вашего основного макета
@Html.Telerik().ScriptRegistrar()
Примечание: Пожалуйста, убедитесь, что у вас есть все скрипты и CSS-файлы в папках Content и Script.
Тэлли
Комментарии:
1. в любом случае, спасибо, просто немного опоздал. Я принял ответ здесь в прошлом году.