gpt4 book ai didi

asp.net-mvc - TinyURL 就像使用 ASP.NET MVC 进行路由一样?

转载 作者:行者123 更新时间:2023-12-02 14:26:58 25 4
gpt4 key购买 nike

我正在尝试在 ASP.NET MVC 中编写一个类似 TinyURL 的克隆,作为习惯该框架的第一个项目。

URL 路由对我来说仍然有点令人困惑,特别是当我偏离 Controller /操作/id 时。

你们中的任何 ASP.NET MVC 忍者都可以帮助我设置一个简单的 URL 路由,类似于 TinyURL.com 处理其路由的方式吗?

例如:

www.tinyurl.com/

重定向到索引页。因此,如果没有传递参数,则只需调用 Index() View 即可。

但是,如果您传入tinyurl 哈希值,我需要调用redirect() 操作。

www.tinyurl.com/fbc13

那么,我该如何设置这个自定义路线呢?

 routes.MapRoute(  
"Default", // Route name
"{tinyhash}", // URL with parameters
new { controller = "Link", action = "ReDirect", tinyhash = "" } // Parameter defaults
);

这不太正确,因为如果您只是访问网址中没有哈希值的页面,当我想要它时,我会默认使用 ReDirect() 操作,而是调用 Index() 方法。

有关如何模仿基本 TinyURL(如路由)的建议?

最佳答案

您走在正确的道路上。创建一个空路由,您将不会被重定向。

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

并将默认值更改为

routes.MapRoute(  
"Redirect",
"{tinyhash}",
new { controller = "Link", action = "ReDirect", tinyhash = "" }
);

或者,您可以让 Controller 检查tinyhash值,如果它为空则显示不同的 View 。 (那是黑客)

关于asp.net-mvc - TinyURL 就像使用 ASP.NET MVC 进行路由一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/727418/

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