gpt4 book ai didi

c# - 没有 Controller 的路由和 url 中的操作

转载 作者:行者123 更新时间:2023-11-30 14:17:57 24 4
gpt4 key购买 nike

如何配置 ASP.NET MVC 3 路由,使其不需要 url 中的 Controller 和操作?

我用这个来显示项目“abc123”的详细信息,配置了默认路由设置:

mysite.com/Home/Details/abc123

值“abc123”是 Home Controller 用来在数据库中查找正确项目的唯一值。

但我更愿意使用这些超短网址:

mysite.com/abc123

该站点还将有很少的其他 Controller ,例如“关于”和“联系方式”。我想我也必须专门配置这些,所以默认 Controller 不会开始寻找 ID 为“关于”或“联系”的项目的详细信息。我该怎么做?

更新:

这是我的路线最终的样子:

routes.MapRoute("About", "About", New With {.controller = "About", .action = "Index"})
routes.MapRoute("ID", "{id}", New With {.controller = "Home", .action = "Details"})
routes.MapRoute("Default", "", New With {.controller = "Home", .action = "Index"})

:)

最佳答案

尝试这样的事情:

routes.MapRoute("Site"
, "Site/{controller}/{action}"
, new { controller = "Home", action = "Index"});

routes.MapRoute("Id"
, "{id}"
, new { controller = "Home", action = "Details"});

第一个路由应该确保你可以将/Site/About 和/Site/Contact 分别映射到 AboutController 和 ContactController。重要的是首先映射它。

第二条路线将确保/abc123 被映射到 ID 为“abc123”的详细信息操作

关于c# - 没有 Controller 的路由和 url 中的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5260591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com