例如,如果用户尝试访问一个Main
操作并mySite/Main
在地址栏中输入,我想强制它路由到mySite/beforeMain
,然后Main
在一些处理后自动重定向到。我如何使用路由映射来做到这一点,或者这可能以其他方式实现吗?我不想在 URL 中有查询字符串参数,或者使用 TempData/etc。如果 cookie 被禁用。
问问题
27 次
1 回答
1
也许您可以使用Url Rewrite。
或者,您可以使用RedirectToAction
:
public ActionResult Main()
{
if(Request.QueryString["redirected"].ToString() != "true")
{
return RedirectToAction("beforeMain", "mySite");
}
return View();
}
那么你的beforeMain
行动可能是:
public ActionResult BeforeMain()
{
//do some stuff
return RedirectToAction("Main", new { redirected = "true" });
}
然后,当您第二次点击 main 时,它将跳过重定向,您不会陷入循环。
于 2013-10-31T15:08:44.523 回答