将博客的路由字符串 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对基于属性的路由的搜索和研发,我想出了一个解决方案:
步骤:
需要定义我使用的是属性路由
routes.MapMvcAttributeRoutes();
删除 Action 方法的现有路由条目。
在Action方法上方设置Attribute路由入口路径。
[路线("{Url}")]
只需将 href 中的 URL 从之前更新为 URL。
来自
<a href="/home/newsdetail/@item.Url">
至
<a href="/@item.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对基于属性的路由的搜索和研发,我想出了一个解决方案:
步骤:
需要定义我使用的是属性路由
routes.MapMvcAttributeRoutes();
删除 Action 方法的现有路由条目。
在Action方法上方设置Attribute路由入口路径。
[路线("{Url}")]
只需将 href 中的 URL 从之前更新为 URL。
来自
<a href="/home/newsdetail/@item.Url">
至
<a href="/@item.Url">