Kendo UI MVC网格未更新

时间:2014-08-06 14:23:07

标签: jquery asp.net-mvc kendo-ui kendo-grid

我在MVC中使用了Entndo Framework的Kendo UI网格,我对这两者都不熟悉。我一直在使用Kendo的许多教程,为此我使用了Ajax Editior。这是我在控制器中更新的内容,但更新不会触发。

 public ActionResult Opt_Update([DataSourceRequest] DataSourceRequest request, PQAViewModel   
 optData)
    {
        if (ModelState.IsValid)
        {



            using (var pqaData = new PQAEntities())
            {
                var entity = new ProductQualityFileFull
                {
                    Jobber = optData.Jobber,
                    Dealer = optData.Dealer,
                    OptInd = optData.OptInd,
                    establish_date_time = optData.establish_date_time,
                    establish_id = optData.establish_id
                }; 
                pqaData.ProductQualityFileFulls.Attach(entity);
                pqaData.Entry(entity).State = EntityState.Modified; 
                pqaData.SaveChanges();
            }
        }

        return Json(new[] { optData.OptInd }.ToDataSourceResult(request, ModelState));

    }

它解决问题的两条线就在这里:关于如何解决这个问题的任何想法?

 pqaData.ProductQualityFileFulls.Attach(entity);
 pqaData.Entry(entity).State = EntityState.Modified; 

1 个答案:

答案 0 :(得分:0)

如果您正在获取EntityValidationErrors,则为EF添加特定的异常处理程序。

try{
using (var pqaData = new PQAEntities())
        {
            var entity = new ProductQualityFileFull
            {
                Jobber = optData.Jobber,
                Dealer = optData.Dealer,
                OptInd = optData.OptInd,
                establish_date_time = optData.establish_date_time,
                establish_id = optData.establish_id
            }; 
            pqaData.ProductQualityFileFulls.Attach(entity);
            pqaData.Entry(entity).State = EntityState.Modified; 
            pqaData.SaveChanges();
        }
}
catch (DbEntityValidationException e)
 {
     //Check your errors here
}

可能是你试图将null放入一个不可为空的字段等。