c# - MVC 特殊路由

标签 c# asp.net-mvc

我有一个 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/

相关文章:

c# - WPF组合框像弹出

c# - 如果文件列表中缺少一个文件,如何评估为 false

c# - C# 中的 LINQ 分组依据和排序依据

javascript - Google 跟踪代码管理器导致页面表单提交两次

asp.net-mvc - 验证 URL 是否映射到 ASP.Net MVC 中的实际路由

c# - 错误 95 'System.Array' 不包含 'FindIndex' 的定义

c# - 仅使用一个(根)记录器时的 Log4net 重复条目

c# - 使用 Json.NET 序列化为 NDJSON

c# - MVC RadioButtonFor 组

asp.net - Entity Framework DAL、BLL 与存储库模式