0

例如,如果用户尝试访问一个Main操作并mySite/Main在地址栏中输入,我想强制它路由到mySite/beforeMain,然后Main在一些处理后自动重定向到。我如何使用路由映射来做到这一点,或者这可能以其他方式实现吗?我不想在 URL 中有查询字符串参数,或者使用 TempData/etc。如果 cookie 被禁用。

4

1 回答 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 回答