默认情况下,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