【发布时间】:2009-03-12 12:16:26
【问题描述】:
我希望能够使用不符合 {controller}/{action}/{id} 格式的 URL 映射路由。映射如下:
routes.CreateArea("Root", "MyApp.Web.Controllers",
routes.MapRoute("Category-List", "Category/{category}",
new { controller = "Category", action = "List" }),
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" })
);
我有一个 CategoryController 和一个动作 List(string category)。
我希望能够在我的观点中使用它:
<%= Html.ActionLink<CategoryController>(
c => c.List(category.UrlFriendlyName),
category.Name)%>
(为便于阅读添加了换行符)
所有这些都会产生一个与href="" 的链接。从“根”区域删除路由会产生正确的结果。是否可以将这种类型的映射与通用 ActionLink 帮助器一起使用,还是我必须求助于 RouteLink 或类似的硬编码值?
我也尝试了以下方法,但没有成功:
<%= Html.ActionLink(category.Name, "List", "Category",
new { category = category.UrlFriendlyName }) %>
【问题讨论】:
标签: asp.net-mvc routing