これらのルーティングは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"}
);
このhrefhttp: //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>