0

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

因为我已经为博客 URL 配置了“控制器/操作/{*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,它应该满足我的要求。

提前致谢。

4

1 回答 1

0

在对基于属性的路由进行了几次谷歌搜索和研发之后,我想出了一个解决方案:

脚步:

  1. 需要定义我正在使用属性路由

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

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

    [路线(“{Url}”)]

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

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

<a href="/@item.Url">
于 2020-07-14T19:21:37.613 回答