【发布时间】:2013-01-06 10:14:47
【问题描述】:
我在 global.asax 中有这些路由
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{Name}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, name = UrlParameter.Optional },
namespaces: new[] {"MVCTemplateProject.Controllers"}
);
routes.MapRoute(
name: "Post",
url: "{controller}/{action}/{id}/{Title}",
defaults: new {controller = "Post", action = "Index", id = UrlParameter.Optional, Title = UrlParameter.Optional},
namespaces: new[] {"MVCTemplateProject.Controllers"}
);
routes.MapRoute(
name: "GetPostByCategoryName",
url: "{controller}/{action}/{CategoryName}",
defaults:
new {controller = "Post", action = "Index", id = UrlParameter.Optional, CategoryName = UrlParameter.Optional},
namespaces: new[] {"MVCTemplateProject.Controllers"}
);
我有一个链接到这个 href http://mysite.com/Post/GetPostsByTagId/3/a 如果我单击该行并重定向到具有相同地址的相同链接的页面 所以我的链接有这个地址 http://mysite.com/Post/GetPostsByTagId/3/a/2/asdasd 并引发错误 这是我的链接语法
<a href="@Url.Action(MVC.Post.ActionNames.GetPostsByCategoryId,MVC.Post.Name)\@category.Id\@category.Name.ToSeoUrl()">@category.Name</a>
【问题讨论】:
-
这个路径在哪里配置?
-
您是否尝试过添加另一个知道如何处理第二个(更长)url 的路由?
标签: asp.net-mvc asp.net-mvc-routing