【问题标题】:Change route string url of blog from controller/action/{*Url} to {*Url}将博客的路由字符串 url 从控制器/动作/{*Url} 更改为 {*Url}
【发布时间】:2020-07-14 12:08:38
【问题描述】:

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

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

现在我想将 Url 模式从“controller/action/{*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,并且应该满足我的要求。

提前致谢。

【问题讨论】:

    标签: c# asp.net-mvc routes blogs routeconfig


    【解决方案1】:

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

    步骤:

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

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

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

      [路线(“{Url}”)]

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

    来自

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      相关资源
      最近更新 更多