ASP.NET はデフォルトではバインドしません。に電話する必要がありますDataBind
。呼び出すPage.DataBind
と、すべてのコントロールのDataBind
メソッドが呼び出されます。DataBind
したがって、準備ができたらコントロールを呼び出すだけです。Page.DataBind
を使用する場合、通常は呼び出しませんObjectDataSource
。
ObjectDataSource
Web フォーム (aspx) ページでを宣言した場合、コントロールのDataBind
メソッドは、イベントの直後Page.Load
、コントロールのイベントの前に呼び出されLoad
ます。およびイベントが役立つ場合がありますObjectCreating
。ObjectCreated
以下は、ビジネス オブジェクトの接続文字列を設定するサンプルです。
<asp:ObjectDataSource
ID="__definitionCategoryDataSource"
runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="Missico.Data.DefinitionDataSetTableAdapters.DefinitionCategoryTableAdapter">
</asp:ObjectDataSource>
Protected Sub __definitionCategoryDataSource_ObjectCreated( _
ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.ObjectDataSourceEventArgs) _
Handles __definitionCategoryDataSource.ObjectCreated
If e.ObjectInstance IsNot Nothing Then
SetObjectDataSourceConnectionString(e.ObjectInstance, DataManager.ConnectionString)
End If
End Sub
Public Sub SetObjectDataSourceConnectionString( _
ByVal objectInstance As Object, _
ByVal connectionString As String)
If objectInstance IsNot Nothing Then
Dim oConnection As System.Data.Common.DbConnection
oConnection = objectInstance.GetType.GetProperty("Connection").GetValue(objectInstance, Nothing)
oConnection.ConnectionString = DataManager.ConnectionString
End If
End Sub