ListView不保存已编辑的记录

时间:2015-06-19 15:32:11

标签: c# asp.net listview

我正在使用ASP.net 4.5 ListView使用数据实体来填充控件 当我使用下面的C#代码编辑记录时,它不会保存更改。代码编译时没有任何错误,如果我单步执行代码,它会拉出我正在编辑的记录,但不会保存更改。这是代码:

    public void ListView1_UpdateItem(int LinkAnalysisID)
    {
        LinkAnalysis.LinkAnalysi item = null;
        using (LAEntities db = new LAEntities())
        {
            // Load the item here, e.g. item = MyDataLayer.Find(id);
            item = db.LinkAnalysis.SingleOrDefault(uu => uu.LinkAnalysisId == LinkAnalysisID);

        if (item == null)
        {
            // The item wasn't found
            ModelState.AddModelError("", String.Format("Item with id {0} was not found", LinkAnalysisID));
            return;
        }
        TryUpdateModel(item);
        if (ModelState.IsValid)
        {
            // Save changes here, e.g. MyDataLayer.SaveChanges();
            db.SaveChanges();
        }
        }
    }

非常感谢任何帮助。

经过进一步研究后,我将我的代码编辑为下面显示的内容。

     public void ListView1_UpdateItem(int LinkAnalysisID)
    {
        LinkAnalysis.LinkAnalysi item = null;
        using (LAEntities db = new LAEntities())
        {
            // Load the item here, e.g. item = MyDataLayer.Find(id);
            item = db.LinkAnalysis.Find(LinkAnalysisID);
            //item = db.LinkAnalysis.SingleOrDefault(uu => uu.LinkAnalysisId == LinkAnalysisID);

        if (item == null)
        {
            // The item wasn't found
            ModelState.AddModelError("", String.Format("Item with id {0} was not found", LinkAnalysisID));
            return;
        }
        TryUpdateModel(item);
        if (ModelState.IsValid)
        {
            // Save changes here, e.g. MyDataLayer.SaveChanges();
            db.SaveChanges();
        }
        }
    }

我仍然得到代码运行相同的结果,但更改不会保存到数据库中。

0 个答案:

没有答案