0

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

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" 不是应该自动触发吗?

4

1 回答 1

0

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

您的更新方法将需要有关要更新哪一行的参数。网格视图本身不提供此功能。

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

看看这个ObjectDataSource 示例

于 2012-08-01T09:57:23.553 回答