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

时间:2012-06-07 10:03:42

标签: 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});

我希望网址成为:localhost/basicdata/address 但它实际呈现:localhost/basicdata?basicdatatype=address

我想在我的控制器中得到这个枚举:

public ActionResult Index(BasicDataType basicDataType)
{
     //Code here
}

但它不起作用,因为URL格式不正确。有人可以帮忙吗?


修改

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

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

1 个答案:

答案 0 :(得分:0)

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

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