目标: 我希望能够输入网址:www.mysite.com/NewYork或www.mysite.com/name-of-businessASP MVC重定向而不更改URL(路由)
根据字符串我想在不更改URL的情况下路由到不同的操作。
到目前为止,我有:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"UrlRouter", // Route name
"{query}", // URL with parameters
new { controller = "Routing", action = "TestRouting" } // Parameter defaults
);
}
在控制器中,我有:
public ActionResult TestRouting(string query)
{
if (query == "NewYork")
return RedirectToAction("Index", "Availability"); // <--------- not sure
else if (query == "name-of-business")
return Redirect("nameofbusines.aspx?id=2731"); // <--------- not sure
else
return RedirectToAction("TestTabs", "Test"); // <--------- not sure
}
我已经几乎用尽了一切办法来重定向/转移到页面而不 改变URL,但一切我试着改变网址或给我一个错误。
基本上我正在寻找相当于server.transfer的地方,我可以保留这个URL但发送信息给动作并显示它的结果。
我实际上能够想出我正在寻找的东西。 它有点复杂,但一旦你建立起来,你几乎可以在飞行中创建路线。 我很快就会发布我的答案,这个项目很粗糙! – CesarHerrera 2009-05-01 22:43:08