我想创建一个网址缩短网站。我提供的URL类似于example.com/XXX
,其中XXX
是短URL的值。
我想有网站上的example.com
和网址是example.com/xxx
。我想从网址中获得xxx
,并将用户重定向到数据库中的相应网址。
如何实现这一点?
发布于 2013-01-03 22:49:24
在您的RouteConfig中创建新路由,例如:
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转到您的数据库
public ActionResult Index(int id)
{
//Do Stuff with db
return View();
}
asp.net mvc文档here。
发布于 2013-01-03 22:42:46
一种方法是在默认控制器操作中执行所需的重定向。默认情况下,在asp.net mvc中,它是主目录/索引。
因此,在索引操作中,您应该有这样的代码
public ActionResult Index(string id)
{
var url = Db.GetNeededUrl(id);
return Redirect(url);
}
所以现在,如果用户输入这样的地址site.com/NewYear,您将被重定向到数据库中的等效url。
https://stackoverflow.com/questions/14140295
复制相似问题