我有一个页面通过 GET 或 POST 传递其 id 来显示帖子。
例如:www.example.com/post/viewpost?id=PostTiTle
但我想像这样实现: www.example.com/post/PostTiTle
所以 post id 应该在使用单个控制器的 URL 中。我怎样才能做到这一点?
我有一个页面通过 GET 或 POST 传递其 id 来显示帖子。
例如:www.example.com/post/viewpost?id=PostTiTle
但我想像这样实现: www.example.com/post/PostTiTle
所以 post id 应该在使用单个控制器的 URL 中。我怎样才能做到这一点?
如果您没有修改任何设置,默认 MVC 路由示例应该可以工作。
例子
public ActionResult Index(string id)
{
// do something with variable id = PostTiTle
}
如果您的控制器名称是Post并且您的操作名称是ViewPost那么您需要像这样添加额外的路由。
routes.MapRoute(
"Post",
"post/{id}",
new { controller = "Post", action = "ViewPost", id = UrlParameter.Optional }
);