【发布时间】:2012-04-02 09:37:05
【问题描述】:
我正在使用 MVC3/Razor。但是我不明白为什么我redirecToAction时会出现上一页的url。
场景:一旦用户从主页单击“帐户/注册”等注册,他将获得 RedirectToAction(“AcceptCondition”),因此一旦用户接受条件并发布,用户将获得 RedirectToAction(“注册” )我将检查他是否来自“AcceptCondition”页面,然后他可以继续,否则用户将返回“AcceptCondition”页面。因此,当我将用户从注册页面重定向到 AcceptCondition 页面时,地址栏中的 url 显示为“http://localhost:55104/Account/Signup”而不是“http://localhost:55104/Account/AcceptCondition”
我知道当他点击注册时我可以将用户直接发送到“Account/AcceptCondition”,但我只是按照上面的场景。
public ActionResult Signup(string ru)
{
if ((ru == "/Account/AcceptCondition") || (ru == "/Account/Signup"))
{
return View();
}
else
{
return RedirectToAction("AcceptCondition");
}
}
[HttpGet]
public ActionResult AcceptCondition()
{
return View();
}
[HttpPost]
public ActionResult AcceptCondition(AcceptConditionViewModel acceptCondiViewModel)
{
if (acceptCondiViewModel.TermAndCondi == true)
{
return RedirectToAction("Signup",
"Account",
new { ru = "/Account/AcceptCondition" });
}
else
{
return View();
}
}
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 c#-4.0 razor routing