GridView的UpdateMethod没有触发

我有一个GridView,我以编程方式绑定到ObjectDataSource,如:

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”假设自动触发?

使用ObjectDataSource ,提供UpdateMethod是不够的。

您的更新方法将需要有关要更新的行的参数。 gridview本身不提供此function。

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

看一下这个ObjectDataSource示例