ASP.NET/ObjectDataSource

维基教科书,自由的教学读本

ObjectDataSource 控件用作数据源。可以与各种界面控件( GridView、FormView、DetailsView、DropDownList)做数据绑定。

TypeName 属性标识 ObjectDataSource 使用的类的名称。 ObjectDataSource 控件在每次调用方法时都创建并销毁类的实例。

由 SelectMethod、UpdateMethod、InsertMethod 和 DeleteMethod 属性标识的方法可以是实例方法或 static(在 Visual Basic 中为 Shared)方法。 如果方法为 static(在 Visual Basic 中为 Shared),则不创建业务对象的实例,也不引发 ObjectCreating、ObjectCreated 和 ObjectDisposing 事件。如果方法签名带参数,可以将 Parameter 对象添加到ObjectDataSource对象的SelectParameters属性集合对象中,然后将它们绑定到要传递给属性指定的方法。 为使 ObjectDataSource 能够使用参数,这些参数必须与方法签名中的参数名称(注意大小写)和类型相匹配。DataSourceID 属性自动绑定到数据源中的数据;设置DataSource 属性,但之后必须显式调用数据绑定控件的 DataBind 方法。如果 ObjectDataSource 控件与数据绑定控件相关联,则由数据绑定控件自动添加参数,所以必须保证方法的参数名称与数据绑定控件中的字段名称相匹配。

当调用绑定到 ObjectDataSource 的控件的 DataBind 方法时,这些控件自动调用 SelectMethod 属性指定的方法。

如果数据是作为 DataSet 或 DataTable 对象返回的,ObjectDataSource 控件可以筛选由 SelectMethod 属性检索的数据。

  <asp:ObjectDataSource
    CacheDuration="string|Infinite"    CacheExpirationPolicy="Absolute|Sliding"
    CacheKeyDependency="string"
    ConflictDetection="OverwriteChanges|CompareAllValues"
    ConvertNullToDBNull="True|False"    DataObjectTypeName="string"
    DeleteMethod="string"    EnableCaching="True|False"
    EnablePaging="True|False"    EnableTheming="True|False"
    EnableViewState="True|False"    FilterExpression="string"
    ID="string"    InsertMethod="string"
    MaximumRowsParameterName="string"
    OldValuesParameterFormatString="string"
    OnDataBinding="DataBinding event handler"
    OnDeleted="Deleted event handler"    OnDeleting="Deleting event handler"
    OnDisposed="Disposed event handler"    OnFiltering="Filtering event handler"
    OnInit="Init event handler"    OnInserted="Inserted event handler"
    OnInserting="Inserting event handler"    OnLoad="Load event handler"
    OnObjectCreated="ObjectCreated event handler"
    OnObjectCreating="ObjectCreating event handler"
    OnObjectDisposing="ObjectDisposing event handler"
    OnPreRender="PreRender event handler"    OnSelected="Selected event handler"
    OnSelecting="Selecting event handler"    OnUnload="Unload event handler"
    OnUpdated="Updated event handler"    OnUpdating="Updating event handler"
    runat="server"    SelectCountMethod="string"
    SelectMethod="string"    SortParameterName="string"
    SqlCacheDependency="string"    StartRowIndexParameterName="string"
    TypeName="string"    UpdateMethod="string">
    <DeleteParameters>
                <asp:ControlParameter        ControlID="string"
                   ConvertEmptyStringToNull="True|False"
                    DefaultValue="string"
                   Direction="Input|Output|InputOutput|ReturnValue"
                    Name="string"
                    PropertyName="string"
                    Size="integer"
                    Type="Empty|Object|DBNull|Boolean|Char|SByte|
                        Byte|Int16|UInt16|Int32|UInt32|Int64|UInt64|
                        Single|Double|Decimal|DateTime|String"
                />
                <asp:CookieParameter                 CookieName="string"/>
                <asp:FormParameter                   FormField="string"/>
                <asp:Parameter                       Name="string"/>
                <asp:ProfileParameter               PropertyName="string"/>
                <asp:QueryStringParameter      QueryStringField="string"/>
                <asp:SessionParameter          SessionField="string"/>
        </DeleteParameters>
        <FilterParameters>... ...</FilterParameters>
        <InsertParameters>... ...</InsertParameters>
        <SelectParameters>... ...</SelectParameters>
        <UpdateParameters>... ...</UpdateParameters>
  </asp:ObjectDataSource>