Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
908 lines (817 sloc) 75.7 KB
<Type Name="DataSourceView" FullName="System.Web.UI.DataSourceView">
<TypeSignature Language="C#" Value="public abstract class DataSourceView" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit DataSourceView extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Web.UI.DataSourceView" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class DataSourceView" />
<TypeSignature Language="C++ CLI" Value="public ref class DataSourceView abstract" />
<TypeSignature Language="F#" Value="type DataSourceView = class" />
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Serves as the base class for all data source view classes, which define the capabilities of data source controls.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
ASP.NET supports a data-binding architecture that enables Web server controls to bind to data in a consistent fashion. Web server controls that bind to data are referred to as data-bound controls, and the classes that facilitate that binding are called data source controls. Data source controls can represent any data source: a relational database, a file, a stream, a business object, and so on. Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.
You use the data source controls that are provided with ASP.NET, including <xref:System.Web.UI.WebControls.SqlDataSource>, <xref:System.Web.UI.WebControls.AccessDataSource>, and <xref:System.Web.UI.WebControls.XmlDataSource>, to perform most Web development tasks. You use the base <xref:System.Web.UI.DataSourceControl> and <xref:System.Web.UI.DataSourceView> classes when you want to implement your own custom data source control.
You can think of a data source control as the combination of the <xref:System.Web.UI.IDataSource> object and its associated lists of data, called data source views. Each list of data is represented by a <xref:System.Web.UI.DataSourceView> object. The <xref:System.Web.UI.DataSourceView> class is the base class for all data source views, or lists of data, associated with data source controls. Data source views define the capabilities of a data source control. Because the underlying data storage contains one or more lists of data, a data source control is always associated with one or more named data source views. The data source control uses the <xref:System.Web.UI.DataSourceControl.GetViewNames%2A> method to enumerate the data source views currently associated with the data source control and the <xref:System.Web.UI.DataSourceControl.GetView%2A> method to retrieve a specific data source view instance by name.
All <xref:System.Web.UI.DataSourceView> objects support data retrieval from the underlying data source using the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method. All views optionally support a basic set of operations, including operations such as <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A>, <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A>, and <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A>. A data-bound control can discover the capabilities of a data source control by retrieving an associated data source view using the <xref:System.Web.UI.DataSourceControl.GetView%2A> and <xref:System.Web.UI.DataSourceControl.GetViewNames%2A> methods, and by querying the view at design time or run time.
## Examples
The following code example demonstrates how to extend the <xref:System.Web.UI.DataSourceView> class to create a strongly typed view class for a data source control. The `CsVDataSourceView` class defines the capabilities of the `CsvDataSource` data source control and provides an implementation for data-bound controls to use data stored in comma-separated value (.csv) files. For more information on the `CsvDataSource` data source control, see the <xref:System.Web.UI.DataSourceControl> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#5](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#5)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#5](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#5)]
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.DataSourceControl" />
<altmember cref="T:System.Web.UI.HierarchicalDataSourceView" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected DataSourceView (System.Web.UI.IDataSource owner, string viewName);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.Web.UI.IDataSource owner, string viewName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.#ctor(System.Web.UI.IDataSource,System.String)" />
<MemberSignature Language="VB.NET" Value="Protected Sub New (owner As IDataSource, viewName As String)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; DataSourceView(System::Web::UI::IDataSource ^ owner, System::String ^ viewName);" />
<MemberSignature Language="F#" Value="new System.Web.UI.DataSourceView : System.Web.UI.IDataSource * string -&gt; System.Web.UI.DataSourceView" Usage="new System.Web.UI.DataSourceView (owner, viewName)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="owner" Type="System.Web.UI.IDataSource" />
<Parameter Name="viewName" Type="System.String" />
</Parameters>
<Docs>
<param name="owner">The data source control that the <see cref="T:System.Web.UI.DataSourceView" /> is associated with.</param>
<param name="viewName">The name of the <see cref="T:System.Web.UI.DataSourceView" /> object.</param>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.DataSourceView" /> class.</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="owner" /> is <see langword="null" />.
-or-
<paramref name="viewName" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="CanDelete">
<MemberSignature Language="C#" Value="public virtual bool CanDelete { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanDelete" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanDelete" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanDelete As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanDelete { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanDelete : bool" Usage="System.Web.UI.DataSourceView.CanDelete" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The base class implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.CanDelete%2A> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data source view supports the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> operation in general, if a required property or some other data is not set, the <xref:System.Web.UI.DataSourceView.CanDelete%2A> property returns `false`, as a delete operation would fail.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.DataSourceView.CanDelete%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> method in a class that extends the <xref:System.Web.UI.DataSourceView> class. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#8](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#8)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#8](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#8)]
]]></format>
</remarks>
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" />
</Docs>
</Member>
<Member MemberName="CanExecute">
<MemberSignature Language="C#" Value="public virtual bool CanExecute (string commandName);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CanExecute(string commandName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.CanExecute(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function CanExecute (commandName As String) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual bool CanExecute(System::String ^ commandName);" />
<MemberSignature Language="F#" Value="abstract member CanExecute : string -&gt; bool&#xA;override this.CanExecute : string -&gt; bool" Usage="dataSourceView.CanExecute commandName" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="commandName" Type="System.String" Index="0" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="commandName">The name of the command.</param>
<summary>Determines whether the specified command can be executed.</summary>
<returns>
<see langword="true" /> if the command can be executed; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CanInsert">
<MemberSignature Language="C#" Value="public virtual bool CanInsert { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanInsert" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanInsert" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanInsert As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanInsert { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanInsert : bool" Usage="System.Web.UI.DataSourceView.CanInsert" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The base class implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.CanInsert%2A> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data source control supports the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> operation, if a required insert command or some other data is not set, the <xref:System.Web.UI.DataSourceView.CanInsert%2A> property returns `false`, as an insert operation would fail.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.DataSourceView.CanInsert%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> method in a class that extends the <xref:System.Web.UI.DataSourceView> class. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#9](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#9)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#9](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#9)]
]]></format>
</remarks>
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" />
</Docs>
</Member>
<Member MemberName="CanPage">
<MemberSignature Language="C#" Value="public virtual bool CanPage { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanPage" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanPage" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanPage As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanPage { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanPage : bool" Usage="System.Web.UI.DataSourceView.CanPage" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports paging through the data retrieved by the <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> method.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The base class implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A data-bound control can request paging by adding the <xref:System.Web.UI.DataSourceCapabilities.Page> field to the <xref:System.Web.UI.DataSourceSelectArguments> object passed to the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method. If a data-bound control requests paging, but the <xref:System.Web.UI.DataSourceView.CanPage%2A> property returns `false`, the data source view throws an exception.
]]></format>
</remarks>
<altmember cref="P:System.Web.UI.DataSourceSelectArguments.StartRowIndex" />
<altmember cref="P:System.Web.UI.DataSourceSelectArguments.MaximumRows" />
<altmember cref="T:System.Web.UI.DataSourceCapabilities" />
</Docs>
</Member>
<Member MemberName="CanRetrieveTotalRowCount">
<MemberSignature Language="C#" Value="public virtual bool CanRetrieveTotalRowCount { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanRetrieveTotalRowCount" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanRetrieveTotalRowCount" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanRetrieveTotalRowCount As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanRetrieveTotalRowCount { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanRetrieveTotalRowCount : bool" Usage="System.Web.UI.DataSourceView.CanRetrieveTotalRowCount" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports retrieving the total number of data rows, instead of the data.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The base class implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A data-bound control can request a total row count by adding the <xref:System.Web.UI.DataSourceCapabilities.RetrieveTotalRowCount?displayProperty=nameWithType> field to the <xref:System.Web.UI.DataSourceSelectArguments?displayProperty=nameWithType> object passed to the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method. If a data-bound control requests a total row count, but the <xref:System.Web.UI.DataSourceView.CanRetrieveTotalRowCount%2A> property returns `false`, the data source view throws an exception.
]]></format>
</remarks>
<altmember cref="P:System.Web.UI.DataSourceSelectArguments.TotalRowCount" />
<altmember cref="P:System.Web.UI.DataSourceSelectArguments.RetrieveTotalRowCount" />
<altmember cref="T:System.Web.UI.DataSourceCapabilities" />
<altmember cref="F:System.Web.UI.DataSourceOperation.SelectCount" />
</Docs>
</Member>
<Member MemberName="CanSort">
<MemberSignature Language="C#" Value="public virtual bool CanSort { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanSort" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanSort" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanSort As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanSort { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanSort : bool" Usage="System.Web.UI.DataSourceView.CanSort" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports a sorted view on the underlying data source.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The default implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A data-bound control can request sorting by adding the <xref:System.Web.UI.DataSourceCapabilities.Sort> field to the <xref:System.Web.UI.DataSourceSelectArguments> object passed to the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method. If a data-bound control requests sorting, but the <xref:System.Web.UI.DataSourceView.CanSort%2A> property returns `false`, the data source view throws an exception.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.DataSourceView.CanSort%2A> property in a class that extends the <xref:System.Web.UI.DataSourceView> class. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#7](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#7)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#7](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#7)]
]]></format>
</remarks>
<altmember cref="P:System.Web.UI.DataSourceSelectArguments.SortExpression" />
<altmember cref="T:System.Web.UI.DataSourceCapabilities" />
</Docs>
</Member>
<Member MemberName="CanUpdate">
<MemberSignature Language="C#" Value="public virtual bool CanUpdate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanUpdate" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.CanUpdate" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property CanUpdate As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool CanUpdate { bool get(); };" />
<MemberSignature Language="F#" Value="member this.CanUpdate : bool" Usage="System.Web.UI.DataSourceView.CanUpdate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the <see cref="T:System.Web.UI.DataSourceView" /> object associated with the current <see cref="T:System.Web.UI.DataSourceControl" /> object supports the <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</summary>
<value>
<see langword="true" /> if the operation is supported; otherwise, <see langword="false" />. The default implementation returns <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.CanUpdate%2A> property reflects not only a capability of the data source control, but also whether it is currently appropriate to perform an operation. For example, even though a data-bound control supports the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> operation, if a required update command or some other data is not set, the <xref:System.Web.UI.DataSourceView.CanUpdate%2A> property returns `false`, as an update operation would fail.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.DataSourceView.CanUpdate%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> method in a class that extends the <xref:System.Web.UI.DataSourceView> class. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#10](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#10)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#10](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#10)]
]]></format>
</remarks>
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" />
</Docs>
</Member>
<Member MemberName="DataSourceViewChanged">
<MemberSignature Language="C#" Value="public event EventHandler DataSourceViewChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler DataSourceViewChanged" />
<MemberSignature Language="DocId" Value="E:System.Web.UI.DataSourceView.DataSourceViewChanged" />
<MemberSignature Language="VB.NET" Value="Public Custom Event DataSourceViewChanged As EventHandler " />
<MemberSignature Language="C++ CLI" Value="public:&#xA; event EventHandler ^ DataSourceViewChanged;" />
<MemberSignature Language="F#" Value="member this.DataSourceViewChanged : EventHandler " Usage="member this.DataSourceViewChanged : System.EventHandler " />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the data source view has changed.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The change to the data source view could be due to a change in the values of its properties, or to a change in the data due to a data operation performed by the data source view.
For more information about how to handle events, see [Handling and Raising Events](~/docs/standard/events/index.md).
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Delete">
<MemberSignature Language="C#" Value="public virtual void Delete (System.Collections.IDictionary keys, System.Collections.IDictionary oldValues, System.Web.UI.DataSourceViewOperationCallback callback);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Delete(class System.Collections.IDictionary keys, class System.Collections.IDictionary oldValues, class System.Web.UI.DataSourceViewOperationCallback callback) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.Delete(System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub Delete (keys As IDictionary, oldValues As IDictionary, callback As DataSourceViewOperationCallback)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void Delete(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ oldValues, System::Web::UI::DataSourceViewOperationCallback ^ callback);" />
<MemberSignature Language="F#" Value="abstract member Delete : System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit&#xA;override this.Delete : System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit" Usage="dataSourceView.Delete (keys, oldValues, callback)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keys" Type="System.Collections.IDictionary" />
<Parameter Name="oldValues" Type="System.Collections.IDictionary" />
<Parameter Name="callback" Type="System.Web.UI.DataSourceViewOperationCallback" />
</Parameters>
<Docs>
<param name="keys">An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be deleted by the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</param>
<param name="oldValues">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
<param name="callback">A <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate that is used to notify a data-bound control when the asynchronous operation is complete.</param>
<summary>Performs an asynchronous delete operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.Delete%2A> method is the asynchronous data deletion interface for all data source view objects. The <xref:System.Web.UI.DataSourceView.Delete%2A> method calls the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> method using any `keys` and `oldValues` parameter values supplied. The `callback` parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> operation has completed. The method uses the parameters of the <xref:System.Web.UI.DataSourceViewOperationCallback> delegate to return the number of affected records and any <xref:System.Exception> exception that is thrown by the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> method.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">The <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> supplied is <see langword="null" />.</exception>
<altmember cref="T:System.Web.UI.DataSourceViewOperationCallback" />
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" />
</Docs>
</Member>
<Member MemberName="Events">
<MemberSignature Language="C#" Value="protected System.ComponentModel.EventHandlerList Events { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ComponentModel.EventHandlerList Events" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.Events" />
<MemberSignature Language="VB.NET" Value="Protected ReadOnly Property Events As EventHandlerList" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; property System::ComponentModel::EventHandlerList ^ Events { System::ComponentModel::EventHandlerList ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Events : System.ComponentModel.EventHandlerList" Usage="System.Web.UI.DataSourceView.Events" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ComponentModel.EventHandlerList</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a list of event-handler delegates for the data source view.</summary>
<value>The list of event-handler delegates.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property is of type <xref:System.ComponentModel.EventHandlerList>, which uses a linear search algorithm to find entries in the list of delegates. A linear search algorithm is inefficient when working with a large number of entries. Therefore, when you have a large list, finding entries with this property will be slow.
]]></format>
</remarks>
</Docs>
</Member>
<MemberGroup MemberName="ExecuteCommand">
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Executes the specified command.</summary>
</Docs>
</MemberGroup>
<Member MemberName="ExecuteCommand">
<MemberSignature Language="C#" Value="protected virtual int ExecuteCommand (string commandName, System.Collections.IDictionary keys, System.Collections.IDictionary values);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int32 ExecuteCommand(string commandName, class System.Collections.IDictionary keys, class System.Collections.IDictionary values) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteCommand(System.String,System.Collections.IDictionary,System.Collections.IDictionary)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Function ExecuteCommand (commandName As String, keys As IDictionary, values As IDictionary) As Integer" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual int ExecuteCommand(System::String ^ commandName, System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ values);" />
<MemberSignature Language="F#" Value="abstract member ExecuteCommand : string * System.Collections.IDictionary * System.Collections.IDictionary -&gt; int&#xA;override this.ExecuteCommand : string * System.Collections.IDictionary * System.Collections.IDictionary -&gt; int" Usage="dataSourceView.ExecuteCommand (commandName, keys, values)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="commandName" Type="System.String" Index="0" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="keys" Type="System.Collections.IDictionary" Index="1" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="values" Type="System.Collections.IDictionary" Index="2" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="commandName">The name of the command.</param>
<param name="keys">A dictionary of object keys or row keys to act on.</param>
<param name="values">A dictionary of name/value pairs that represent data elements and their values.</param>
<summary>Executes the specified command.</summary>
<returns>The number of items that were affected by the operation.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ExecuteCommand">
<MemberSignature Language="C#" Value="public virtual void ExecuteCommand (string commandName, System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Web.UI.DataSourceViewOperationCallback callback);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ExecuteCommand(string commandName, class System.Collections.IDictionary keys, class System.Collections.IDictionary values, class System.Web.UI.DataSourceViewOperationCallback callback) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteCommand(System.String,System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub ExecuteCommand (commandName As String, keys As IDictionary, values As IDictionary, callback As DataSourceViewOperationCallback)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void ExecuteCommand(System::String ^ commandName, System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ values, System::Web::UI::DataSourceViewOperationCallback ^ callback);" />
<MemberSignature Language="F#" Value="abstract member ExecuteCommand : string * System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit&#xA;override this.ExecuteCommand : string * System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit" Usage="dataSourceView.ExecuteCommand (commandName, keys, values, callback)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="commandName" Type="System.String" Index="0" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="keys" Type="System.Collections.IDictionary" Index="1" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="values" Type="System.Collections.IDictionary" Index="2" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
<Parameter Name="callback" Type="System.Web.UI.DataSourceViewOperationCallback" Index="3" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8" />
</Parameters>
<Docs>
<param name="commandName">The name of the command.</param>
<param name="keys">A dictionary of object keys or row keys to act on.</param>
<param name="values">A dictionary of name/value pairs that represent data elements and their values.</param>
<param name="callback">A <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> object.</param>
<summary>Executes the specified command.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method does not return a value.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ExecuteDelete">
<MemberSignature Language="C#" Value="protected virtual int ExecuteDelete (System.Collections.IDictionary keys, System.Collections.IDictionary oldValues);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int32 ExecuteDelete(class System.Collections.IDictionary keys, class System.Collections.IDictionary oldValues) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Function ExecuteDelete (keys As IDictionary, oldValues As IDictionary) As Integer" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual int ExecuteDelete(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ oldValues);" />
<MemberSignature Language="F#" Value="abstract member ExecuteDelete : System.Collections.IDictionary * System.Collections.IDictionary -&gt; int&#xA;override this.ExecuteDelete : System.Collections.IDictionary * System.Collections.IDictionary -&gt; int" Usage="dataSourceView.ExecuteDelete (keys, oldValues)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keys" Type="System.Collections.IDictionary" />
<Parameter Name="oldValues" Type="System.Collections.IDictionary" />
</Parameters>
<Docs>
<param name="keys">An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be deleted by the <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation.</param>
<param name="oldValues">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
<summary>Performs a delete operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<returns>The number of items that were deleted from the underlying data storage.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Data-bound controls can determine whether the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> operation is supported by a data source control by retrieving the <xref:System.Web.UI.DataSourceView> object using the <xref:System.Web.UI.DataSourceControl.GetView%2A?displayProperty=nameWithType> method, and checking the <xref:System.Web.UI.DataSourceView.CanDelete%2A> property.
The `keys` parameter represents the object or row keys of the data to delete. For data sources that represent relational data, such as the <xref:System.Web.UI.WebControls.SqlDataSource> control, the `keys` parameter is a collection of database primary keys. In other scenarios, the `keys` parameter is a collection of name/value pairs and is used to filter a list of data. Any data matching a name/value pair is deleted.
> [!NOTE]
> The <xref:System.Web.UI.DataSourceView> class's default implementation is to throw a <xref:System.NotSupportedException> exception. If you extend the <xref:System.Web.UI.DataSourceView> class, override the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> method if your class supports deletion from the underlying data storage.
## Examples
The following code example demonstrates how a class that extends the <xref:System.Web.UI.DataSourceView> class can override the <xref:System.Web.UI.DataSourceView.CanDelete%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteDelete%2A> method. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#8](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#8)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#8](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#8)]
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">The <see cref="M:System.Web.UI.DataSourceView.ExecuteDelete(System.Collections.IDictionary,System.Collections.IDictionary)" /> operation is not supported by the <see cref="T:System.Web.UI.DataSourceView" />.</exception>
<altmember cref="P:System.Web.UI.DataSourceView.CanDelete" />
</Docs>
</Member>
<Member MemberName="ExecuteInsert">
<MemberSignature Language="C#" Value="protected virtual int ExecuteInsert (System.Collections.IDictionary values);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int32 ExecuteInsert(class System.Collections.IDictionary values) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Function ExecuteInsert (values As IDictionary) As Integer" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual int ExecuteInsert(System::Collections::IDictionary ^ values);" />
<MemberSignature Language="F#" Value="abstract member ExecuteInsert : System.Collections.IDictionary -&gt; int&#xA;override this.ExecuteInsert : System.Collections.IDictionary -&gt; int" Usage="dataSourceView.ExecuteInsert values" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="values" Type="System.Collections.IDictionary" />
</Parameters>
<Docs>
<param name="values">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs used during an insert operation.</param>
<summary>Performs an insert operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<returns>The number of items that were inserted into the underlying data storage.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Data-bound controls can determine whether the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> operation is supported by a data source control by retrieving the <xref:System.Web.UI.DataSourceView> object using the <xref:System.Web.UI.DataSourceControl.GetView%2A> method, and checking the <xref:System.Web.UI.DataSourceView.CanInsert%2A> property.
The `values` parameter is a set of name/value pairs that represents data columns or fields and corresponding values to insert.
> [!NOTE]
> The <xref:System.Web.UI.DataSourceView> class's default implementation is to throw a <xref:System.NotSupportedException> exception. If you extend the <xref:System.Web.UI.DataSourceView> class, override the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> method if your class supports insertion into the underlying data storage.
## Examples
The following code example demonstrates how a class that extends the <xref:System.Web.UI.DataSourceView> class can override the <xref:System.Web.UI.DataSourceView.CanInsert%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> method. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#9](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#9)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#9](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#9)]
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">The <see cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" /> operation is not supported by the <see cref="T:System.Web.UI.DataSourceView" />.</exception>
<altmember cref="P:System.Web.UI.DataSourceView.CanInsert" />
</Docs>
</Member>
<Member MemberName="ExecuteSelect">
<MemberSignature Language="C#" Value="protected internal abstract System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Collections.IEnumerable ExecuteSelect(class System.Web.UI.DataSourceSelectArguments arguments) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" />
<MemberSignature Language="VB.NET" Value="Protected Friend MustOverride Function ExecuteSelect (arguments As DataSourceSelectArguments) As IEnumerable" />
<MemberSignature Language="C++ CLI" Value="protected public:&#xA; abstract System::Collections::IEnumerable ^ ExecuteSelect(System::Web::UI::DataSourceSelectArguments ^ arguments);" />
<MemberSignature Language="F#" Value="abstract member ExecuteSelect : System.Web.UI.DataSourceSelectArguments -&gt; System.Collections.IEnumerable" Usage="dataSourceView.ExecuteSelect arguments" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.IEnumerable</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="arguments" Type="System.Web.UI.DataSourceSelectArguments" />
</Parameters>
<Docs>
<param name="arguments">A <see cref="T:System.Web.UI.DataSourceSelectArguments" /> that is used to request operations on the data beyond basic data retrieval.</param>
<summary>Gets a list of data from the underlying data storage.</summary>
<returns>An <see cref="T:System.Collections.IEnumerable" /> list of data from the underlying data storage.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method is called to retrieve data from the underlying data store and return it as an <xref:System.Collections.IEnumerable> object. All data source controls support data retrieval from their underlying data storage, even if other operations such as insertion and sorting are not supported. Because a data-bound control can request a list of data at any time as a result of a <xref:System.Web.UI.IDataSource.DataSourceChanged> event or a <xref:System.Web.UI.WebControls.BaseDataBoundControl.DataBind%2A> method call, the data retrieval must be performed on demand.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method in a class that extends the <xref:System.Web.UI.DataSourceView> class. The `CsvDataSourceView` opens a comma-separated value (.csv) file, parses it line by line, and creates a <xref:System.Data.DataTable> object and a <xref:System.Data.DataView> object to hold the data in memory. Finally, a sort expression is applied if one is supplied by the <xref:System.Web.UI.DataSourceSelectArguments> object, and the <xref:System.Data.DataView> object is returned as an <xref:System.Collections.IEnumerable> instance. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#6](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#6)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#6](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#6)]
]]></format>
</remarks>
<altmember cref="P:System.Web.UI.DataSourceView.CanSort" />
</Docs>
</Member>
<Member MemberName="ExecuteUpdate">
<MemberSignature Language="C#" Value="protected virtual int ExecuteUpdate (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int32 ExecuteUpdate(class System.Collections.IDictionary keys, class System.Collections.IDictionary values, class System.Collections.IDictionary oldValues) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Function ExecuteUpdate (keys As IDictionary, values As IDictionary, oldValues As IDictionary) As Integer" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual int ExecuteUpdate(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ values, System::Collections::IDictionary ^ oldValues);" />
<MemberSignature Language="F#" Value="abstract member ExecuteUpdate : System.Collections.IDictionary * System.Collections.IDictionary * System.Collections.IDictionary -&gt; int&#xA;override this.ExecuteUpdate : System.Collections.IDictionary * System.Collections.IDictionary * System.Collections.IDictionary -&gt; int" Usage="dataSourceView.ExecuteUpdate (keys, values, oldValues)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keys" Type="System.Collections.IDictionary" />
<Parameter Name="values" Type="System.Collections.IDictionary" />
<Parameter Name="oldValues" Type="System.Collections.IDictionary" />
</Parameters>
<Docs>
<param name="keys">An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be updated by the update operation.</param>
<param name="values">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their new values.</param>
<param name="oldValues">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
<summary>Performs an update operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<returns>The number of items that were updated in the underlying data storage.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Data-bound controls can determine whether the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> operation is supported by a data source control by using the <xref:System.Web.UI.DataSourceControl.GetView%2A?displayProperty=nameWithType> method to retrieve the <xref:System.Web.UI.DataSourceView> object and checking the value of the <xref:System.Web.UI.DataSourceView.CanUpdate%2A> property.
The `keys` parameter represents the object or row keys of the data to update. For data sources that represent relational data, such as the <xref:System.Web.UI.WebControls.SqlDataSource> control, the `keys` parameter is a collection of database primary keys. In other scenarios, the `keys` parameter is a collection of name/value pairs and is used to filter a list of data. Any data matching a name/value pair is updated with the values found in the `values` parameter, which is a set of name/value pairs that represents new values for existing fields or columns.
> [!NOTE]
> The <xref:System.Web.UI.DataSourceView> class's default implementation is to throw a <xref:System.NotSupportedException> exception. If you extend the <xref:System.Web.UI.DataSourceView> class, override the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> method if your class supports updating data in the underlying data storage.
## Examples
The following code example demonstrates how a class that extends the <xref:System.Web.UI.DataSourceView> class can override the <xref:System.Web.UI.DataSourceView.CanUpdate%2A> property and the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> method. This code example is part of a larger example provided for the <xref:System.Web.UI.DataSourceView> class.
[!code-csharp[Urtue.Samples.Alexkr.CsvDataSource_1#10](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/CS/csvdatasource.cs#10)]
[!code-vb[Urtue.Samples.Alexkr.CsvDataSource_1#10](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.CsvDataSource_1/VB/csvdatasource.vb#10)]
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">The <see cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" /> operation is not supported by the <see cref="T:System.Web.UI.DataSourceView" />.</exception>
<altmember cref="P:System.Web.UI.DataSourceView.CanUpdate" />
</Docs>
</Member>
<Member MemberName="Insert">
<MemberSignature Language="C#" Value="public virtual void Insert (System.Collections.IDictionary values, System.Web.UI.DataSourceViewOperationCallback callback);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Insert(class System.Collections.IDictionary values, class System.Web.UI.DataSourceViewOperationCallback callback) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.Insert(System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub Insert (values As IDictionary, callback As DataSourceViewOperationCallback)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void Insert(System::Collections::IDictionary ^ values, System::Web::UI::DataSourceViewOperationCallback ^ callback);" />
<MemberSignature Language="F#" Value="abstract member Insert : System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit&#xA;override this.Insert : System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit" Usage="dataSourceView.Insert (values, callback)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="values" Type="System.Collections.IDictionary" />
<Parameter Name="callback" Type="System.Web.UI.DataSourceViewOperationCallback" />
</Parameters>
<Docs>
<param name="values">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs used during an insert operation.</param>
<param name="callback">A <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate that is used to notify a data-bound control when the asynchronous operation is complete.</param>
<summary>Performs an asynchronous insert operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.Insert%2A> method is the asynchronous data insertion interface for all data source view objects. The <xref:System.Web.UI.DataSourceView.Insert%2A> method calls the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> method using any `values` supplied. The `callback` parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> operation has completed. The method uses the parameters of the <xref:System.Web.UI.DataSourceViewOperationCallback> delegate to return the number of affected records and any <xref:System.Exception> exception that is thrown by the <xref:System.Web.UI.DataSourceView.ExecuteInsert%2A> method call.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">The <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> supplied is <see langword="null" />.</exception>
<altmember cref="T:System.Web.UI.DataSourceViewOperationCallback" />
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteInsert(System.Collections.IDictionary)" />
</Docs>
</Member>
<Member MemberName="Name">
<MemberSignature Language="C#" Value="public string Name { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Name" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.DataSourceView.Name" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Name As String" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::String ^ Name { System::String ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Name : string" Usage="System.Web.UI.DataSourceView.Name" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the name of the data source view.</summary>
<value>The name of the <see cref="T:System.Web.UI.DataSourceView" />, if it has one. The default value is <see cref="F:System.String.Empty" />.</value>
<remarks>To be added.</remarks>
<altmember cref="M:System.Web.UI.DataSourceControl.GetView(System.String)" />
<altmember cref="M:System.Web.UI.DataSourceControl.GetViewNames" />
</Docs>
</Member>
<Member MemberName="OnDataSourceViewChanged">
<MemberSignature Language="C#" Value="protected virtual void OnDataSourceViewChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDataSourceViewChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnDataSourceViewChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnDataSourceViewChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnDataSourceViewChanged : EventArgs -&gt; unit&#xA;override this.OnDataSourceViewChanged : EventArgs -&gt; unit" Usage="dataSourceView.OnDataSourceViewChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
<summary>Raises the <see cref="E:System.Web.UI.DataSourceView.DataSourceViewChanged" /> event.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.OnDataSourceViewChanged%2A> method notifies a data-bound control that the underlying data source has changed and that the control should rebind and perform any necessary work. Typically, the <xref:System.Web.UI.DataSourceView.OnDataSourceViewChanged%2A> method is called when a property of the data source view has changed.
Raising an event invokes the event handler through a delegate. For more information, see [Handling and Raising Events](~/docs/standard/events/index.md).
The <xref:System.Web.UI.DataSourceView.OnDataSourceViewChanged%2A> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overriding <see cref="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Web.UI.DataSourceView.OnDataSourceViewChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
</Docs>
</Member>
<Member MemberName="RaiseUnsupportedCapabilityError">
<MemberSignature Language="C#" Value="protected internal virtual void RaiseUnsupportedCapabilityError (System.Web.UI.DataSourceCapabilities capability);" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance void RaiseUnsupportedCapabilityError(valuetype System.Web.UI.DataSourceCapabilities capability) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.RaiseUnsupportedCapabilityError(System.Web.UI.DataSourceCapabilities)" />
<MemberSignature Language="VB.NET" Value="Protected Friend Overridable Sub RaiseUnsupportedCapabilityError (capability As DataSourceCapabilities)" />
<MemberSignature Language="C++ CLI" Value="protected public:&#xA; virtual void RaiseUnsupportedCapabilityError(System::Web::UI::DataSourceCapabilities capability);" />
<MemberSignature Language="F#" Value="abstract member RaiseUnsupportedCapabilityError : System.Web.UI.DataSourceCapabilities -&gt; unit&#xA;override this.RaiseUnsupportedCapabilityError : System.Web.UI.DataSourceCapabilities -&gt; unit" Usage="dataSourceView.RaiseUnsupportedCapabilityError capability" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="capability" Type="System.Web.UI.DataSourceCapabilities" />
</Parameters>
<Docs>
<param name="capability">One of the <see cref="T:System.Web.UI.DataSourceCapabilities" /> values that is compared against the capabilities that the view supports.</param>
<summary>Called by the <see cref="M:System.Web.UI.DataSourceSelectArguments.RaiseUnsupportedCapabilitiesError(System.Web.UI.DataSourceView)" /> method to compare the capabilities requested for an <see cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" /> operation against those that the view supports.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.RaiseUnsupportedCapabilityError%2A> method is used by the data source view to examine each of the capabilities requested by a data-bound control, represented by the <xref:System.Web.UI.DataSourceSelectArguments> object passed to the <xref:System.Web.UI.DataSourceView.Select%2A> method, and compare it to the capabilities supported by the data source view.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">The data source view does not support the data source capability specified.</exception>
</Docs>
</Member>
<Member MemberName="Select">
<MemberSignature Language="C#" Value="public virtual void Select (System.Web.UI.DataSourceSelectArguments arguments, System.Web.UI.DataSourceViewSelectCallback callback);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Select(class System.Web.UI.DataSourceSelectArguments arguments, class System.Web.UI.DataSourceViewSelectCallback callback) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.Select(System.Web.UI.DataSourceSelectArguments,System.Web.UI.DataSourceViewSelectCallback)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub Select (arguments As DataSourceSelectArguments, callback As DataSourceViewSelectCallback)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void Select(System::Web::UI::DataSourceSelectArguments ^ arguments, System::Web::UI::DataSourceViewSelectCallback ^ callback);" />
<MemberSignature Language="F#" Value="abstract member Select : System.Web.UI.DataSourceSelectArguments * System.Web.UI.DataSourceViewSelectCallback -&gt; unit&#xA;override this.Select : System.Web.UI.DataSourceSelectArguments * System.Web.UI.DataSourceViewSelectCallback -&gt; unit" Usage="dataSourceView.Select (arguments, callback)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="arguments" Type="System.Web.UI.DataSourceSelectArguments" />
<Parameter Name="callback" Type="System.Web.UI.DataSourceViewSelectCallback" />
</Parameters>
<Docs>
<param name="arguments">A <see cref="T:System.Web.UI.DataSourceSelectArguments" /> that is used to request operations on the data beyond basic data retrieval.</param>
<param name="callback">A <see cref="T:System.Web.UI.DataSourceViewSelectCallback" /> delegate that is used to notify a data-bound control when the asynchronous operation is complete.</param>
<summary>Gets a list of data asynchronously from the underlying data storage.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.Select%2A> method is the asynchronous data retrieval interface for all data source view objects. The <xref:System.Web.UI.DataSourceView.Select%2A> method calls the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> method, passing any <xref:System.Web.UI.DataSourceSelectArguments> supplied. The `callback` parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> operation has completed. The data returned by the <xref:System.Web.UI.DataSourceView.ExecuteSelect%2A> call is returned in the parameter of the <xref:System.Web.UI.DataSourceViewSelectCallback> delegate.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">The <see cref="T:System.Web.UI.DataSourceViewSelectCallback" /> supplied is <see langword="null" />.</exception>
<altmember cref="T:System.Web.UI.DataSourceViewSelectCallback" />
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteSelect(System.Web.UI.DataSourceSelectArguments)" />
</Docs>
</Member>
<Member MemberName="Update">
<MemberSignature Language="C#" Value="public virtual void Update (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues, System.Web.UI.DataSourceViewOperationCallback callback);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Update(class System.Collections.IDictionary keys, class System.Collections.IDictionary values, class System.Collections.IDictionary oldValues, class System.Web.UI.DataSourceViewOperationCallback callback) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.DataSourceView.Update(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary,System.Web.UI.DataSourceViewOperationCallback)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub Update (keys As IDictionary, values As IDictionary, oldValues As IDictionary, callback As DataSourceViewOperationCallback)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void Update(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ values, System::Collections::IDictionary ^ oldValues, System::Web::UI::DataSourceViewOperationCallback ^ callback);" />
<MemberSignature Language="F#" Value="abstract member Update : System.Collections.IDictionary * System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit&#xA;override this.Update : System.Collections.IDictionary * System.Collections.IDictionary * System.Collections.IDictionary * System.Web.UI.DataSourceViewOperationCallback -&gt; unit" Usage="dataSourceView.Update (keys, values, oldValues, callback)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="keys" Type="System.Collections.IDictionary" />
<Parameter Name="values" Type="System.Collections.IDictionary" />
<Parameter Name="oldValues" Type="System.Collections.IDictionary" />
<Parameter Name="callback" Type="System.Web.UI.DataSourceViewOperationCallback" />
</Parameters>
<Docs>
<param name="keys">An <see cref="T:System.Collections.IDictionary" /> of object or row keys to be updated by the update operation.</param>
<param name="values">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their new values.</param>
<param name="oldValues">An <see cref="T:System.Collections.IDictionary" /> of name/value pairs that represent data elements and their original values.</param>
<param name="callback">A <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> delegate that is used to notify a data-bound control when the asynchronous operation is complete.</param>
<summary>Performs an asynchronous update operation on the list of data that the <see cref="T:System.Web.UI.DataSourceView" /> object represents.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.DataSourceView.Update%2A> method is the asynchronous data modification interface for all data source view objects. The <xref:System.Web.UI.DataSourceView.Update%2A> method calls the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> method using any `keys`, `values`, and `oldValues` parameter values supplied. The `callback` parameter is a delegate that a data-bound control passes to the data source view, which is used to notify the data-bound control when the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> operation has completed. The method uses the parameters of the <xref:System.Web.UI.DataSourceViewOperationCallback> delegate to return the number of affected records and any <xref:System.Exception> exception that is thrown by the <xref:System.Web.UI.DataSourceView.ExecuteUpdate%2A> call.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">The <see cref="T:System.Web.UI.DataSourceViewOperationCallback" /> supplied is <see langword="null" />.</exception>
<altmember cref="T:System.Web.UI.DataSourceViewOperationCallback" />
<altmember cref="M:System.Web.UI.DataSourceView.ExecuteUpdate(System.Collections.IDictionary,System.Collections.IDictionary,System.Collections.IDictionary)" />
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.