1

这是设置

  • 我有一个DetailsViewwho DataSourceis an ObjectDataSource
  • ObjectDataSource两个方法,选择和更新,它们是定义在TableAdapter.
  • 存储过程采用Select1 个参数——记录 id——并返回填充在DetailsView.
  • 存储过程采用Update三个参数——记录 ID 和两个数据字段。

选择过程工作正常。

但是,当我提交更新时,我收到以下错误:

ObjectDataSource找不到Update具有参数的非泛型方法:[所有 21 个表列]

我试图只将(3)个必要的字段传递给Update存储过程,但DetailsView显然是试图使用它收到的所有字段进行更新Select

我知道我可以NewValues从 访问集合DetailsViewUpdateEventArgs,但是我看不到删除任何参数以使它们与存储过程中的定义相匹配的方法TableAdapter, 和ObjectDataSource

有任何想法吗?

4

2 回答 2

0

也许本教程可以提供一些见解。只要您在数据源中指定更新方法和更新参数,这应该可以正常工作。

于 2010-02-23T16:33:14.070 回答
0

我现在可以通过简单地NewValuesDetailsViewUpdateEventArgs. 然而,这并不是最优的,因为如果存储过程或表单发生更改,我已经添加了另一个故障点。

我仍然想知道是否TemplateField可以将 a 设置为ReadOnlya 的方式BoundField(请参阅 Aaron 回答下方的评论)。

于 2010-02-23T20:23:01.480 回答