Asp.net 无法将更新发布到数据库。并非所有代码路径都返回值

Asp.net 无法将更新发布到数据库。并非所有代码路径都返回值,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我在将数据保存到数据库时不断出现错误 UpdateDetail在检索消息时起作用,但在保存时我不断遇到错误。您的问题是,如果您的ModelState.IsValid==false,则您不会返回任何内容。我在下面的代码中添加了一条注释 根据您的逻辑需要执行的操作,将确定如果IsValid==false需要返回什么 [HttpPost] public ActionResult UpdateDetail(User user) { bool Status = fa

我在将数据保存到数据库时不断出现错误


UpdateDetail
在检索消息时起作用,但在保存时我不断遇到错误。

您的问题是,如果您的ModelState.IsValid==false,则您不会返回任何内容。我在下面的代码中添加了一条注释

根据您的逻辑需要执行的操作,将确定如果IsValid==false需要返回什么

    [HttpPost]
    public ActionResult UpdateDetail(User user)
    {
        bool Status = false;
        string message = "";
        // Model Validation 
        if (ModelState.IsValid)
        {
            using (UsersDatabaseEntities ude = new UsersDatabaseEntities())
            {
                var v = ude.Users.Where(a => a.Email == User.Identity.Name).FirstOrDefault();
                user = v;
                ude.Entry(User).State = EntityState.Modified;
                ude.SaveChanges();
            }
            return View(user);
        }
    }

return
语句保留在
If
语句之外。这将修复您的错误。如果模型有效,则使用数据库中的用户详细信息更新的模型将被推送到视图中。其他方面相同的用户模型将被推送到视图中

public ActionResult UpdateDetail(User user)
    {
        bool Status = false;
        string message = "";
        // Model Validation 
        if (ModelState.IsValid)
        {
            using (UsersDatabaseEntities ude = new UsersDatabaseEntities())
            {
                var v = ude.Users.Where(a => a.Email == User.Identity.Name).FirstOrDefault();
                user = v;
                ude.Entry(User).State = EntityState.Modified;
                ude.SaveChanges();
            }
            // this is your issue, this needs to be outisde the if statement, or you have to do an else and return null (or whatever you need to based off your logic)                
            return View(user);
        }
    }

试想,如果模型状态无效,您将返回什么?
        [HttpPost]
        public ActionResult UpdateDetail(User user)
        {
            bool Status = false;
            string message = "";
            // Model Validation 
            if (ModelState.IsValid)
            {
                using (UsersDatabaseEntities ude = new UsersDatabaseEntities())
                {
                    var v = ude.Users.Where(a => a.Email == User.Identity.Name).FirstOrDefault();
                    user = v;
                    ude.Entry(User).State = EntityState.Modified;
                    ude.SaveChanges();
                }

            }
             return View(user);
        }