首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加类似example.com/id的MapRoute

如何添加类似example.com/id的MapRoute
EN

Stack Overflow用户
提问于 2013-01-03 21:56:22
回答 2查看 159关注 0票数 0

我想创建一个网址缩短网站。我提供的URL类似于example.com/XXX,其中XXX是短URL的值。

我想有网站上的example.com和网址是example.com/xxx。我想从网址中获得xxx,并将用户重定向到数据库中的相应网址。

如何实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2013-01-03 22:49:24

在您的RouteConfig中创建新路由,例如:

代码语言:javascript
运行
复制
 public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute("empty",
                            "{id}",
                            new {controller = "Home", action = "Index", id = UrlParameter.Optional}
                );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

        }
    }

只需使用索引中传递的id转到您的数据库

代码语言:javascript
运行
复制
  public ActionResult Index(int id)
  {
        //Do Stuff with db
        return View();
  }

asp.net mvc文档here

票数 2
EN

Stack Overflow用户

发布于 2013-01-03 22:42:46

一种方法是在默认控制器操作中执行所需的重定向。默认情况下,在asp.net mvc中,它是主目录/索引。

因此,在索引操作中,您应该有这样的代码

代码语言:javascript
运行
复制
public ActionResult Index(string id)
{
      var url = Db.GetNeededUrl(id);
      return Redirect(url);
}

所以现在,如果用户输入这样的地址site.com/NewYear,您将被重定向到数据库中的等效url。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14140295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档