目标:我希望能够输入 URL:www.mysite.com/NewYork 或 www.mysite.com/name-of-business
根据我想在不更改 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 的情况下重定向/转移到页面的方法,但是我尝试的所有方法都会更改 URL 或给我一个错误。
基本上我正在寻找 server.transfer 的等价物,我可以在其中保留 URL,但将信息发送到操作并让它显示其结果。