将博客的路由字符串 url 从 controller/action/{*Url} 更改为 {*Url}

Change route string url of blog from controller/action/{*Url} to {*Url}

我有我的个人博客网站,它是使用 Asp.Net MVC 和 C# 语言完成的。

因为我已经为博客 URL 配置了带有“controller/action/{*Url}”的 RouteConfig,其中 {*Url} 可以是任何文本。

现在我想将 Url 模式从“controller/action/{*Url}”更改为 {*Url}。

示例:

从下方Url

https://abcd.co.in/home/newsdetail/abcd-xyz-opqr-stu

https://abcd.co.in/abcd-xyz-opqr-stu

我做了以下修改

routes.MapRoute("", "mycontroller/myactionmethod/{*Url}", new { controller = "Home", action = "NewsDetail", Url = "" });

但每次 URL 访问我的域时它都会调用。

请提出不会影响其他功能或 URL 并且应该满足我的要求的可能解决方案。

提前致谢。

经过一些google对基于属性的路由的搜索和研发,我想出了一个解决方案:

步骤:

  1. 需要定义我使用的是属性路由

    routes.MapMvcAttributeRoutes();
    
  2. 删除 Action 方法的现有路由条目。

  3. 在Action方法上方设置Attribute路由入口路径。

    [路线("{Url}")]

  4. 只需将 href 中的 URL 从之前更新为 URL。

来自

<a href="/home/newsdetail/@item.Url"> 

<a href="/@item.Url">