Asp.net mvc 返回ModelState而不是view

Asp.net mvc 返回ModelState而不是view,asp.net-mvc,Asp.net Mvc,我有一个基本的登录方法,我检查数据库中是否存在用户登录的电子邮件: [HttpPost] public ActionResult Login(Users model) { using (var db = new MySqlContext()) { if (db.Users.FirstOrDefault(u => u.Email == model.Email) == null) { ModelState.AddModel

我有一个基本的登录方法,我检查数据库中是否存在用户登录的电子邮件:

[HttpPost]
public ActionResult Login(Users model)
{
    using (var db = new MySqlContext())
    {
        if (db.Users.FirstOrDefault(u => u.Email == model.Email) == null)
        {
            ModelState.AddModelError(string.Empty, "Email doesn't exist");
            Return SOMETHING
        }
     }
}
如您所见,我已经编写了
返回一些内容
,实际上,我想要的是将ModelError返回到我的loginform,而不是视图

仅供参考,在我看来(这是一种模式),我有一个标准的
Validationsummary
,如下所示:

@Html.ValidationSummary(true, "", new { @class = "text-danger"})

如果不返回视图,模态后面会显示什么?您必须返回某种类型的视图。(如果您像我喜欢的方法那样处理验证,这将得到处理,因为您实际上从未离开过页面)

要在模式上显示模型的错误消息,必须在验证失败时重新启动模式

无论返回什么视图,都必须检查模型状态是否有效,然后重新启动模态

@if (!ViewData.ModelState.IsValid)
{
    //relaunch you're modal. 
}

为什么不想返回视图?你想做什么?你通常不会
返回视图(模型)?模型状态字典被传递到视图,验证错误将被显示。@juunas exactlyOk,好的。我明白你的观点@juunas问题是,登录表单驻留在一个模式中,这意味着,如果我返回ActionResult(“模式”,“主页”),它就不会在我的_布局页面上呈现,因为它是renderpartial。使用带有renderpartial或JsonResult的Ajax。谢谢你的回答!我明白你的意思。读朱纳斯的答案。我认为在这种情况下返回JsonResult更有意义?