GridView更新方法未触发

时间:2012-08-01 09:43:40

标签: c# asp.net gridview objectdatasource

我有一个以编程方式绑定到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”会自动触发?

1 个答案:

答案 0 :(得分:0)

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

您的更新方法需要有关要更新的行的参数。 gridview不会自行提供。

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

看看这个ObjectDataSource Example