【发布时间】:2014-10-21 01:59:34
【问题描述】:
我正在尝试使用向 gridview 向导提供的删除功能删除一行。
但是当我点击删除时出现以下错误:
An exception of type 'System.InvalidOperationException' occurred in System.Data.Linq.dll but was not handled in user code
这是我的代码:
public void deleteProject(DAL.Project p)
{
DAL.Project result = (from project in dc.Projects
where project.pk_project_id == p.pk_project_id
select project).Single();
dc.Projects.DeleteOnSubmit(result);
dc.SubmitChanges();
}
当我调试它时,值“p”没有属性。
奇怪的是,当我想更新我的行时,我使用了相同的方法:
DAL.Project result = (from project in dc.Projects
where project.pk_project_id == p.pk_project_id
select project).Single();
result.titel = p.titel;
result.beschrijving = p.beschrijving;
dc.SubmitChanges();
这很顺利。那么为什么它不适用于删除行呢?
【问题讨论】:
-
调用deleteProject之前好像没有分配DAL.Project,更新方法有什么不同?
-
nvm 我以为你的意思是 p 为空
-
确实当我调用删除方法“p”= null,但调用更新时它不为空。奇怪的是,我以同样的方式称呼它们,所以它们不应该是一个问题。
-
您需要弄清楚这两种方法的不同之处以及执行这些方法的代码。
标签: c# asp.net gridview wizard delete-row