C# Telerik MVC菜单“MenuItem.Action()”呈现错误的url

C# Telerik MVC菜单“MenuItem.Action()”呈现错误的url,c#,asp.net-mvc-3,telerik-mvc,C#,Asp.net Mvc 3,Telerik Mvc,我正在使用Telerik MVC菜单来呈现我的主菜单。 以下代码是建立某个菜单项的行: item.Add().Text("Address").ImageUrl("~/Content/Images/Icons/house.png").Action("index", "basicdata", new {basicdatatype=BasicDataType.ADDRESS}); 我希望url变成:localhost/basicata/address 但它实际上呈现为:localhost/basic

我正在使用Telerik MVC菜单来呈现我的主菜单。 以下代码是建立某个菜单项的行:

item.Add().Text("Address").ImageUrl("~/Content/Images/Icons/house.png").Action("index", "basicdata", new {basicdatatype=BasicDataType.ADDRESS});
我希望url变成:localhost/basicata/address 但它实际上呈现为:localhost/basicata?basicatatype=address

我希望在控制器中获得该枚举,如下所示:

public ActionResult Index(BasicDataType basicDataType)
{
     //Code here
}
但它不起作用,因为URL的格式不正确。有人能帮忙吗

编辑:

即使以下内容也会呈现错误的url:

item.Add().Text("Test").Action<BasicDataController>(o => o.Index(BasicDataType.PROJECT));  

使用区域时,从外部链接到该区域时,必须指定该区域:

@{ Html.Telerik().Menu()
     .Name("Menu")
     .Items(menu =>
     {
       menu.Add()
       .Text("Address")
       .Action("index",
               "basicdata",
               new { basicdatatype = BasicDataType.ADDRESS,
                     area = "basicdata" });
     }).Render();
 }

仅供参考:我刚刚复制了这个MVC4和TelerikMvcExtensions 2012.1.214,它可以正常工作。您是否可能在添加默认路由后添加路由,这可能会导致使用错误的路由?这些路由添加在basicdata区域中,并且这些区域在global.asax中的路由之前注册。这可能与区域有关?现在测试了一些东西,但我还没有答案。然而,看起来这些领域确实发挥了作用。当Telerik菜单在区域外的视图中定义时,链接是错误的-正如您在问题中所写的-但是如果它在它链接到的区域中,则链接是完美的。更新了我的答案。看起来您必须显式链接到该区域。强类型链接显然不正确支持: