【问题标题】:Redirection in MVC with only one segment (e.g. http://stackoverflow.com/tester)MVC 中只有一个段的重定向(例如 http://stackoverflow.com/tester)
【发布时间】:2020-07-24 03:04:35
【问题描述】:

我陷入了想要生成像 www.so.com/ASXDH 这样的网址的情况 - 所以这将重定向到我的控制器的特定操作。

我尝试了很多方法,例如:

routes.MapRoute(
                  "redirector",  // Route name
                  "{url}", // URL with parameters
                  new { controller = "Home", action = "Redirector", url = UrlParameter.Optional }
              );

但它不起作用。

我正在处理我的 URL 缩短任务。因此,当我生成特定 URL 的短 URL 时,可以说 https://stackoverflow.com/questions/ask 短于 http://so.com/asdf。因此,当这个短 URL 被点击时,我的控制器会将用户重定向到实际 URL

希望有人帮忙。

【问题讨论】:

    标签: asp.net asp.net-mvc routing url-routing asp.net-mvc-routing


    【解决方案1】:

    路由到的第一件事

    routes.MapRoute(
                      "Home",  // Route name
                      "{ASXDH }", // URL with parameters
                      new { controller = "ASDXH", action = "Index", url = UrlParameter.Optional }
                  );
    

    对于 URL 缩短,您需要将该 URl 映射到 routecollection 中的默认 URL

    routes.MapRoute(
                      "Home",  // Route name
                      "{Home/Index/stackoverflow.com}", // URL with parameters
                      new { controller = "ASDXH", action = "Index", url = UrlParameter.Optional }
                  );
    

    或者你也可以这样做

    return RedirectToAction("Actionname");
    

    【讨论】:

      猜你喜欢
      • 2010-11-16
      • 1970-01-01
      • 2018-05-23
      • 2013-04-25
      • 2020-11-21
      • 2017-11-15
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      相关资源
      最近更新 更多