2011-04-25 150 views
2

我有以下Telerik MVC菜单扩展名,它在一个项目中的行为与预期相同,而不在另一个项目中。我试图找出项目之间的差异无济于事,甚至将工作项目的菜单复制并粘贴到非工作项目。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> 

回答

2

请跟踪加载在工作和非工作项目中的JavaScript文件。菜单很简单,不使用任何模型(一组静态文本值),所以只有可能会造成问题的东西缺少js文件

+0

谢谢。我已经发现我遗漏了ScriptRegistrar调用。无论如何,感谢 – ProfK 2011-04-26 09:58:40

2

可能是JavaScript或CSS文件加载失败(可能两者)。

检查一些web开发者工具程序(FireBug,IE或Chrome开发工具)是否有任何失败的HTTP请求。另外,如果您正在使用资产组合,请确保asset.axd HTTP处理程序在您的web.config中正确注册。检查this帮助文章的正确设置。 。

1

就在)你的主人年底或主要布局

@ Html.Telerik()ScriptRegistrar(添加此

注: 请确保您拥有所有的脚本和CSS文件在内容和脚本文件夹。

Talley

+0

,只是晚了一点。去年我在这里接受了一个答案。 – ProfK 2012-05-13 04:58:59