在asp.net MVC中发布后维护URL

时间:2012-10-05 06:30:15

标签: .net asp.net-mvc url routing asp.net-mvc-4

相当新的asp.net mvc我没有知识改变某些事情的运作方式。这是其中之一

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

  2. 控制器操作登录[HttpPost]获取模型并对其进行验证

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

    那么创建一个Login操作只能解决问题或我得到的任何其他解决方案吗?

3 个答案:

答案 0 :(得分:6)

为什么不能将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();
}

答案 1 :(得分:1)

你必须return View("Index");

答案 2 :(得分:0)

试试这个:

return RedirectToAction("Index", "User", new { returnUrl, errorMessage, etc });