MVC4数据库连接

时间:2014-12-27 13:58:56

标签: asp.net-mvc-4

我想在登录点击时执行数据库操作。 所以我使用存储过程来获取数据,但在这里我遇到了一些关于模型异常的问题。

public ActionResult Login(UserInfo model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                List<UserInfo> loginDetails = dbContext.Database.SqlQuery<UserInfo>
                    ("exec spGetloginUserInfo @username,@password", new SqlParameter("@username", model.username), new SqlParameter("@password", model.password)).ToList();
                return RedirectToLocal(returnUrl);
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return View(model);
        }

我的模特

  public class UserInfo
    {
        public string usertype { get; set; }
        public string username { get; set; }
        public string password { get; set; }
        public bool active { get; set; }
        public DateTime lastmodifieddate { get; set; }
        public string modifiedby { get; set; }
        public bool RememberMe { get; set; }
    }

抛出的异常是

  

类型的例外   &#39; System.Data.Entity.ModelConfiguration.ModelValidationException&#39;   发生在EntityFramework.dll中但未在用户代码中处理

请告诉我我在哪里做错,以及我的方法是否正确? 除了存储过程方法之外,还有其他任何数据库交互方式。

1 个答案:

答案 0 :(得分:0)

ModelState.AddModelError抛出错误但您的客户端/ javascript / views未捕获该错误。

以下是有关如何在视图中实现类似错误处理的链接。

ASP.NET MVC 2 Model Errors with Custom Exceptions

此外,请确保您的模型UserInfo包含每个属性的有效数据

Login(UserInfo model, string returnUrl) <<-- the model of type UserInfo
相关问题