截至目前,我正在尝试在我的项目中使用 MVC3 模型验证,但是如果用户未登录,我希望有一个简单的登录部分始终显示在布局中。我有大部分代码,但是我唯一坚持的是如何将模型发布回表单以获取我生成并需要返回的任何验证消息。
通常这样的事情会起作用:
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LoginModel)
{
if(ModelState.IsValid())
{
//Run Further checks & functions
//Upon successful login, retuns to somewhere (Just site index in this example)
return RedirectToAction("Index", "Site");
}
return View(model);
}
现在显然这不起作用,因为我不能return View(model);
在部分上工作,除非我只想显示登录表单,但是我希望它发回我一直在编辑的页面。例如:我导航到某个页面,与我们联系,并想现在登录。我在始终可用的表格上输入我的详细信息,然后输入我的详细信息。发生错误(密码不正确、登录不正确、帐户不存在等),我应该回到联系页面,表单仍填写我输入的详细信息(显然密码除外)和验证摘要工作之类的……
此外,布局已呈现的页面上的任何表单仍需要正常工作(使用模型等)
我愿意接受有关如何通过其他提交/返回方式使其工作的建议,但是让 MVC 模型验证工作是理想的。
如果有人需要我详细说明所说的任何内容,请随时发表评论。我会积极回应一段时间。