我有一个asp.net MVC项目,需要定义一些自定义路由。类似于您在Wordpress上看到的路由采用postid-postname形式的帖子:

12-i-am-post


我知道如何做类似postid/postname的事情:

12/i-am-post.


但是我如何制作将两者结合的路线,例如:

mywebsite.com/12-postname-is-her

最佳答案

routes.MapRoute(
    "PostRoute", // Route name
    "{controller}/{id}-{postName}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional, postName = UrlParameter.Optional } // Parameter defaults
);


public ActionResult Index(int id, string postName)
{
    return View();
}


应该适用于以下请求http://localhost/Post/1-MyPostName

关于c# - MVC特殊路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5255870/

10-12 14:40