如何使用缩短的URL与asp.net mvc路由?

时间:2015-01-30 04:45:09

标签: c# asp.net-mvc asp.net-mvc-routing tinyurl

我想了解如何设置路由参数以执行以下操作:当用户调用缩短的网址如http://hostname.com/shortenedurl时,我的asp.net mvc项目应调用操作和参数,如http://hostname.com/controller/action
从来没有我做过类似的事情所以我会感激任何建议。如何编码和解码url字符串从正常到短和后来我已经知道了。

2 个答案:

答案 0 :(得分:1)

您可以在RouteConfig.cs文件中定义特定路线。例如,.../MyShortUrl将路由到Edit

EmployeeController方法
public class RouteConfig
{
  public static void RegisterRoutes(RouteCollection routes)
  {
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
      name: "MyShortUrl",
      url: "MyShortUrl",
      defaults: new { controller = "Employee", action = "Edit", id = UrlParameter.Optional }
    );

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

注意在更一般的路线之前需要按顺序放置特定路线

答案 1 :(得分:0)

没有“正常”和“短暂”。你应该使用路由。最好的办法是watch some stuff about Routing来了解这一切是如何运作的。