2012-08-01 85 views
0

我已经得到了我绑定到ObjectDataSource控件编程,像一个GridView:GridView的UpdateMethod不点火

ObjectDataSource risks = new ObjectDataSource("Risks", "RetrieveProjectRisk"); 
risks.TypeName = "Promanto.ProjectRisks"; 
risks.DataObjectTypeName = "Promanto.ProjectRisk"; 
risks.SelectMethod = "RetrieveProjectRisk"; 
risks.DeleteMethod = "DeleteProjectRisk"; 
risks.InsertMethod = "AddProjectRisk"; 
risks.UpdateMethod = "UpdateProjectRisk"; 
risks.SelectParameters.Add("WhereClause", TypeCode.String, "ProjectID ='PR0002'"); 
RisksGrid.DataSource = risks; 
RisksGrid.DataBind(); 

但是当我点击编辑按钮,然后更新我的价值观,我首先得到一个错误RowUpdating应该存在。当我添加它时,我不确定要放入什么内容。是不是我的UpdateMethod“UpdateProjectRisk”假设自动启动?

回答

0

当您使用ObjectDataSource时,仅提供UpdateMethod是不够的。

您的更新方法将需要有关要更新哪一行的参数。 gridview没有提供它自己的。

您需要实现RowUpdating提供UpdateParameters需要更新您的ObjectDataSource

看看这个ObjectDataSource Example

+0

感谢。将尝试。 似乎很多简单的工作。如果有人有这样做的更好的方式,请发布。那么可能不会是ObjectDataSource。 – 2012-08-01 10:07:32