1

すべてのカスタム「更新」コードを RowCommand イベントに入れました。正常に動作しますが、データ ソースからまだエラーが発生します

System.NotSupportedException: UpdateMethod が指定されていない限り、更新は ObjectDataSource 'GetSources' によってサポートされていません。

どうすればそのエラーを取り除くことができますか?はい、まだrowcommandでカスタム更新コードを使用していますか?

4

1 に答える 1

0

ObjectDataSource の使用方法は、カスタム ビジネス オブジェクトでメソッドの名前を指定し、リフレクションを使用してそのメソッドを呼び出すことだと思います。

したがって、ページとオブジェクトは次のようになります。

<asp:objectdatasource
              id="ObjectDataSource2"
              runat="server"
              updatemethod="MyUpdateMethod"
              typename="MyBusinessObject">
<updateparameters>
<asp:controlparameter name="anID" controlid="DropDownList1" propertyname="SelectedValue" />
</updateparameters>
</asp:objectdatasource>

Public Class MyBusinessObject

    Public Shared Sub MyUpdateMethod(anID As String)
    'data access code
    End Sub 

End Class

コントロールをまとめるこのパターンは非常に生産的ですが、しばらくすると制限が強すぎると感じるでしょう。

于 2011-03-31T16:21:41.770 に答える