2

对 asp.net mvc 来说相当新我不知道改变某些事情的工作方式。这是其中之一

  1. 控制器操作索引显示登录页面

  2. Controller Action Login with[HttpPost]获取模型并验证它

在这种情况下,验证失败 URL 似乎设置为http://blah_blah/Users/Login(当请求时会导致 404,因为控制器上没有登录操作)

那么创建登录操作是解决问题的唯一方法还是我得到的任何其他解决方案?

4

3 回答 3

7

为什么不能将Login动作重命名为Index.

public ActionResult Index()
{
   return View();
}

[HttpPost]
public ActionResult Index(LoginModel model)
{
   return View();
}

或者

你可以使用ActionName属性

[HttpPost, ActionName("Index")]
public ActionResult Login(LoginModel model)
{
   return View();
}
于 2012-10-05T11:27:09.287 回答
1

你必须return View("Index");

于 2012-10-05T06:32:41.607 回答
0

试试这个:

return RedirectToAction("Index", "User", new { returnUrl, errorMessage, etc });
于 2012-10-05T06:43:06.680 回答