来自MVC中其他控制器的呼叫后操作

时间:2018-10-18 13:23:36

标签: model-view-controller

将常规的ASP.NET站点转换为MVC,我遇到了一个问题,该功能在现有站点中很容易,但在MVC中却令人困惑。注册过程完成后,将重定向到登录页面,并传递用户名和密码,该用户名和密码将登录到用户并显示条款页面,因为这是用户首次登录。

MVC项目中的“登录”视图具有执行此操作的“发布”操作:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(Login login)
{
   ...
   if (!u.TermsAccepted)
      return RedirectToAction("AgreementPage", "Login");
}

我需要注册控制器才能使用它,但是似乎没有一种方法可以从其他控制器调用Post操作。我能做的最好的就是显示“登录”视图,并填写用户名和密码。有什么办法可以在MVC中做到这一点?

编辑:

应该添加Login控制器也有一个Get:

[HttpGet]
public ActionResult Login()
{
   ViewBag.ErrorMessage = "";
   return View();
}

使用RedirectToAction调用此方法,而不是Post:

Login login = new Login() { Username = info.UserInfo.UserName, Password = info.UserInfo.Password };

return RedirectToAction("Login", "Login", login);

1 个答案:

答案 0 :(得分:0)

抱歉让您感到困惑是答案

MVC不支持帖子重定向

answer