Suggérer une traduction
 
Suggestions d'autres utilisateurs :

progress indicator
Aucune autre suggestion.
Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 4
Espaces de noms System.Web
System.Web.UI.WebControls
LinqDataSource, classe
Réduire tout/Développer tout Réduire tout
Affichage du contenu :  côte à côteAffichage du contenu : côte à côte
.NET Framework Class Library
LinqDataSource Class

Enables the use of Language-Integrated Query (LINQ) in an ASP.NET Web page through markup text to retrieve and modify data from a data object.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)
Visual Basic
<ToolboxBitmapAttribute(GetType(LinqDataSource), "LinqDataSource.bmp")> _
Public Class LinqDataSource _
    Inherits ContextDataSource _
    Implements IDynamicDataSource, IDataSource
C#
[ToolboxBitmapAttribute(typeof(LinqDataSource), "LinqDataSource.bmp")]
public class LinqDataSource : ContextDataSource, 
    IDynamicDataSource, IDataSource
Visual C++
[ToolboxBitmapAttribute(typeof(LinqDataSource), L"LinqDataSource.bmp")]
public ref class LinqDataSource : public ContextDataSource, 
    IDynamicDataSource, IDataSource
F#
[<ToolboxBitmapAttribute(typeof(LinqDataSource), "LinqDataSource.bmp")>]
type LinqDataSource =  
    class
        inherit ContextDataSource
        interface IDynamicDataSource
        interface IDataSource
    end
ASP.NET
<asp:LinqDataSource />

The LinqDataSource type exposes the following members.

  NameDescription
Public methodLinqDataSourceInitializes a new instance of the LinqDataSource class.
Top
  NameDescription
Protected propertyAdapterGets the browser-specific adapter for the control. (Inherited from Control.)
Public propertyAppRelativeTemplateSourceDirectoryGets or sets the application-relative virtual directory of the Page or UserControl object that contains this control. (Inherited from Control.)
Public propertyAutoGenerateOrderByClauseGets or sets a value that indicates whether the LinqDataSource control dynamically creates an Order By clause based on values in the OrderByParameters collection.
Public propertyAutoGenerateWhereClauseGets or sets a value that indicates whether the LinqDataSource control dynamically creates a Where clause based on values defined in the WhereParameters collection.
Public propertyAutoPageGets or sets a value that indicates whether the LinqDataSource control supports navigation through sections of the data at run time.
Public propertyAutoSortGets or sets a value that indicates whether the LinqDataSource control supports sorting the data at run time.
Public propertyBindingContainerInfrastructure. Gets the control that contains this control's data binding. (Inherited from Control.)
Protected propertyChildControlsCreatedGets a value that indicates whether the server control's child controls have been created. (Inherited from Control.)
Public propertyClientIDGets the server control identifier generated by ASP.NET. (Inherited from DataSourceControl.)
Public propertyClientIDModeThis property is not used for data source controls. (Inherited from DataSourceControl.)
Protected propertyClientIDSeparatorGets a character value representing the separator character used in the ClientID property. (Inherited from Control.)
Protected propertyContextGets the HttpContext object associated with the server control for the current Web request. (Inherited from Control.)
Public propertyContextTypeNameGets or sets the name of the type that contains the property whose value has the data that you want to retrieve. (Overrides ContextDataSource..::.ContextTypeName.)
Public propertyControlsGets a ControlCollection object that represents the child controls for a specified server control in the UI hierarchy. (Inherited from DataSourceControl.)
Public propertyDataItemContainerGets a reference to the naming container if the naming container implements IDataItemContainer. (Inherited from Control.)
Public propertyDataKeysContainerGets a reference to the naming container if the naming container implements IDataKeysControl. (Inherited from Control.)
Public propertyDeleteParametersThis property is not used by the LinqDataSource class.
Protected propertyDesignModeGets a value indicating whether a control is being used on a design surface. (Inherited from Control.)
Public propertyEnableDeleteGets or sets a value that indicates whether data records can be deleted through the LinqDataSource control.
Public propertyEnableInsertGets or sets a value that indicates whether data records can be inserted through the LinqDataSource control.
Public propertyEnableObjectTrackingGets or sets the value that indicates whether changes to the data context object are tracked.
Public propertyEnableThemingGets a value indicating whether this control supports themes. (Inherited from DataSourceControl.)
Public propertyEnableUpdateGets or sets a value that indicates whether data records can be updated through the LinqDataSource control.
Public propertyEnableViewStateGets or sets a value indicating whether the server control persists its view state, and the view state of any child controls it contains, to the requesting client. (Inherited from Control.)
Protected propertyEntitySetNameGets or sets the name of the property or field in the data source object that represents a data collection. (Inherited from ContextDataSource.)
Public propertyEntityTypeNameGets or sets the name of the type that is created for Insert, Delete, and Update operations. (Inherited from ContextDataSource.)
Protected propertyEventsGets a list of event handler delegates for the control. This property is read-only. (Inherited from Control.)
Public propertyGroupByGets or sets a value that specifies which properties are used for grouping the retrieved data.
Public propertyGroupByParametersGets the collection of parameters that are used to create the Group By clause.
Protected propertyHasChildViewStateGets a value indicating whether the current server control's child controls have any saved view-state settings. (Inherited from Control.)
Public propertyIDGets or sets the programmatic identifier assigned to the server control. (Inherited from Control.)
Protected propertyIdSeparatorInfrastructure. Gets the character used to separate control identifiers. (Inherited from Control.)
Public propertyInsertParametersGets the collection of parameters that are used during an insert operation.
Protected propertyIsChildControlStateClearedGets a value indicating whether controls contained within this control have control state. (Inherited from Control.)
Protected propertyIsTrackingViewStateGets a value that indicates whether the server control is saving changes to its view state. (Inherited from Control.)
Protected propertyIsViewStateEnabledGets a value indicating whether view state is enabled for this control. (Inherited from Control.)
Protected propertyLoadViewStateByIDGets a value indicating whether the control participates in loading its view state by ID instead of index. (Inherited from Control.)
Public propertyNamingContainerGets a reference to the server control's naming container, which creates a unique namespace for differentiating between server controls with the same Control..::.ID property value. (Inherited from Control.)
Public propertyOrderByGets or sets a value that specifies which fields are used for ordering the retrieved data.
Public propertyOrderByParametersGets the collection of parameters that are used to create the Order By clause.
Public propertyOrderGroupsByGets or sets the fields that are used for ordering grouped data.
Public propertyOrderGroupsByParametersGets the collection of parameters that are used to create the Order Groups By clause.
Public propertyPageGets a reference to the Page instance that contains the server control. (Inherited from Control.)
Public propertyParentGets a reference to the server control's parent control in the page control hierarchy. (Inherited from Control.)
Public propertyRenderingCompatibilityGets a value that specifies the ASP.NET version that rendered HTML will be compatible with. (Inherited from Control.)
Public propertySelectGets or sets the properties and calculated values that are included in the retrieved data.
Public propertySelectParametersGets the collection of parameters that are used during a data-retrieval operation.
Public propertySiteGets information about the container that hosts the current control when rendered on a design surface. (Inherited from Control.)
Public propertySkinIDGets the skin to apply to the DataSourceControl control. (Inherited from DataSourceControl.)
Public propertyStoreOriginalValuesInViewStateGets or sets a value that indicates whether the data from the data source should be stored in view state to make sure that the data has not been changed by another process before it is updated or deleted.
Public propertyTableNameGets or sets the name of the property or field in the data context class that represents a data collection.
Public propertyTemplateControlGets or sets a reference to the template that contains this control. (Inherited from Control.)
Public propertyTemplateSourceDirectoryGets the virtual directory of the Page or UserControl that contains the current server control. (Inherited from Control.)
Public propertyUniqueIDGets the unique, hierarchically qualified identifier for the server control. (Inherited from Control.)
Public propertyUpdateParametersThis collection is not used by the LinqDataSource class.
Protected propertyViewStateGets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page. (Inherited from Control.)
Protected propertyViewStateIgnoresCaseGets a value that indicates whether the StateBag object is case-insensitive. (Inherited from Control.)
Public propertyViewStateModeGets or sets the view-state mode of this control. (Inherited from Control.)
Public propertyVisibleGets or sets a value indicating whether the control is visually displayed. (Inherited from DataSourceControl.)
Public propertyWhereGets or sets a value that specifies what conditions must be true for a record to be included in the retrieved data.
Public propertyWhereParametersGets the collection of parameters that is used to create the Where clause.
Top
  NameDescription
Protected methodAddedControlCalled after a child control is added to the Controls collection of the Control object. (Inherited from Control.)
Protected methodAddParsedSubObjectNotifies the server control that an element, either XML or HTML, was parsed, and adds the element to the server control's ControlCollection object. (Inherited from Control.)
Public methodApplyStyleSheetSkinApplies the style properties that are defined in the page style sheet to the control. (Inherited from DataSourceControl.)
Protected methodBuildProfileTreeInfrastructure. Gathers information about the server control and delivers it to the Trace property to be displayed when tracing is enabled for the page. (Inherited from Control.)
Protected methodClearCachedClientIDInfrastructure. Sets the cached ClientID value to nullNothingnullptra null reference (Nothing in Visual Basic). (Inherited from Control.)
Protected methodClearChildControlStateDeletes the control-state information for the server control's child controls. (Inherited from Control.)
Protected methodClearChildStateDeletes the view-state and control-state information for all the server control's child controls. (Inherited from Control.)
Protected methodClearChildViewStateDeletes the view-state information for all the server control's child controls. (Inherited from Control.)
Protected methodClearEffectiveClientIDModeInfrastructure. Sets the ClientIDMode property of the current control instance and of any child controls to Inherit. (Inherited from Control.)
Protected methodCreateChildControlsCalled by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering. (Inherited from Control.)
Protected methodCreateControlCollectionCreates a collection to store child controls. (Inherited from DataSourceControl.)
Protected methodCreateQueryableViewReturns a queryable view. (Overrides QueryableDataSource..::.CreateQueryableView()()().)
Protected methodCreateViewCreates a new instance of the LinqDataSourceView class that is associated with this control.
Public methodDataBind()()()Binds a data source to the invoked server control and all its child controls. (Inherited from Control.)
Protected methodDataBind(Boolean)Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event. (Inherited from Control.)
Protected methodDataBindChildrenBinds a data source to the server control's child controls. (Inherited from Control.)
Public methodDeletePerforms a delete operation.
Public methodDisposeEnables a server control to perform final clean up before it is released from memory. (Inherited from Control.)
Protected methodEnsureChildControlsDetermines whether the server control contains child controls. If it does not, it creates child controls. (Inherited from Control.)
Protected methodEnsureIDCreates an identifier for controls that do not have an identifier assigned. (Inherited from Control.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFindControl(String)Searches the current naming container for a server control with the specified id parameter. (Inherited from DataSourceControl.)
Protected methodFindControl(String, Int32)Infrastructure. Searches the current naming container for a server control with the specified id and an integer, specified in the pathOffset parameter, which aids in the search. You should not override this version of the FindControl method. (Inherited from Control.)
Public methodFocusSets input focus to the control. (Inherited from DataSourceControl.)
Protected methodGetDesignModeStateInfrastructure. Gets design-time data for a control. (Inherited from Control.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetRouteUrl(Object)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public methodGetRouteUrl(RouteValueDictionary)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public methodGetRouteUrl(String, Object)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public methodGetRouteUrl(String, RouteValueDictionary)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetUniqueIDRelativeToReturns the prefixed portion of the UniqueID property of the specified control. (Inherited from Control.)
Protected methodGetViewGets the data source view that is associated with the QueryableDataSource object. (Inherited from QueryableDataSource.)
Protected methodGetViewNamesGets a collection of names that represent views that are associated with the QueryableDataSource control. (Inherited from QueryableDataSource.)
Public methodHasControlsDetermines if the server control contains any child controls. (Inherited from DataSourceControl.)
Protected methodHasEventsReturns a value indicating whether events are registered for the control or any child controls. (Inherited from Control.)
Public methodInsertPerforms an insert operation.
Protected methodIsLiteralContentInfrastructure. Determines if the server control holds only literal content. (Inherited from Control.)
Protected methodLoadControlStateRestores control-state information from a previous page request that was saved by the SaveControlState method. (Inherited from Control.)
Protected methodLoadViewStateLoads the state of the values in the QueryableDataSource control that must be persisted. (Inherited from QueryableDataSource.)
Protected methodMapPathSecureRetrieves the physical path that a virtual path, either absolute or relative, maps to. (Inherited from Control.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnBubbleEventDetermines whether the event for the server control is passed up the page's UI server control hierarchy. (Inherited from Control.)
Protected methodOnDataBindingRaises the DataBinding event. (Inherited from Control.)
Protected methodOnInitInitializes the LinqDataSource object. (Overrides QueryableDataSource..::.OnInit(EventArgs).)
Protected methodOnLoadRaises the Load event. (Inherited from Control.)
Protected methodOnPreRenderRaises the PreRender event. (Inherited from Control.)
Protected methodOnUnloadRaises the Unload event. (Overrides Control..::.OnUnload(EventArgs).)
Protected methodOpenFileGets a Stream used to read a file. (Inherited from Control.)
Protected methodRaiseBubbleEventAssigns any sources of the event and its information to the control's parent. (Inherited from Control.)
Protected methodRaiseDataSourceChangedEventRaises the DataSourceChanged event. (Inherited from DataSourceControl.)
Public methodRaiseViewChangedCalls the OnDataSourceViewChanged method of the DataSourceView class. (Inherited from QueryableDataSource.)
Protected methodRemovedControlCalled after a child control is removed from the Controls collection of the Control object. (Inherited from Control.)
Protected methodRenderSends server control content to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control.)
Protected methodRenderChildrenOutputs the content of a server control's children to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control.)
Public methodRenderControl(HtmlTextWriter)Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled. (Inherited from DataSourceControl.)
Protected methodRenderControl(HtmlTextWriter, ControlAdapter)Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object. (Inherited from Control.)
Protected methodResolveAdapterGets the control adapter responsible for rendering the specified control. (Inherited from Control.)
Public methodResolveClientUrlGets a URL that can be used by the browser. (Inherited from Control.)
Public methodResolveUrlConverts a URL into one that is usable on the requesting client. (Inherited from Control.)
Protected methodSaveControlStateSaves any server control state changes that have occurred since the time the page was posted back to the server. (Inherited from Control.)
Protected methodSaveViewStateSaves the current view state of the QueryableDataSource control. (Inherited from QueryableDataSource.)
Protected methodSetDesignModeStateSets design-time data for a control. (Inherited from Control.)
Public methodSetRenderMethodDelegateInfrastructure. Assigns an event handler delegate to render the server control and its content into its parent control. (Inherited from Control.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodTrackViewStateTracks view-state changes of the QueryableDataSource control so that the changes can be stored in the StateBag object for the control. (Inherited from QueryableDataSource.)
Public methodUpdatePerforms an update operation.
Protected methodUpdateParameterValesUpdates the parameter values that have changed since the previous request. (Inherited from QueryableDataSource.)
Top
  NameDescription
Public eventContextCreatedOccurs after an instance of the context type object is created.
Public eventContextCreatingOccurs before an instance of the context type object is created.
Public eventContextDisposingOccurs before disposing the context type object.
Public eventDataBindingOccurs when the server control binds to a data source. (Inherited from Control.)
Public eventDeletedOccurs when a delete operation has finished.
Public eventDeletingOccurs before a delete operation.
Public eventDisposedOccurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested. (Inherited from Control.)
Public eventInitOccurs when the server control is initialized, which is the first step in its lifecycle. (Inherited from Control.)
Public eventInsertedOccurs when an insert operation has finished.
Public eventInsertingOccurs before an insert operation.
Public eventLoadOccurs when the server control is loaded into the Page object. (Inherited from Control.)
Public eventPreRenderOccurs after the Control object is loaded but prior to rendering. (Inherited from Control.)
Public eventQueryCreatedOccurs when a query is added to or removed from a data source control. (Inherited from QueryableDataSource.)
Public eventSelectedOccurs when a data retrieval operation has finished.
Public eventSelectingOccurs before a data-retrieval operation.
Public eventUnloadOccurs when the server control is unloaded from memory. (Inherited from Control.)
Public eventUpdatedOccurs when an update operation has finished.
Public eventUpdatingOccurs before an update operation.
Top
  NameDescription
Public Extension MethodExpandDynamicWhereParametersExpands dynamic filters into Where parameters that are usable by the data source. (Defined by DynamicDataExtensions.)
Public Extension MethodFindDataSourceControlReturns the data source that is associated with the data control for the specified control. (Defined by DynamicDataExtensions.)
Public Extension MethodFindFieldTemplateReturns the field template for the specified column in the specified control's naming container. (Defined by DynamicDataExtensions.)
Public Extension MethodFindMetaTableReturns the metatable object for the containing data control. (Defined by DynamicDataExtensions.)
Public Extension MethodGetDefaultValuesGets the collection of the default values for the specified data source. (Defined by DynamicDataExtensions.)
Public Extension MethodGetMetaTableGets the metadata for a table in the specified data source object. (Defined by DynamicDataExtensions.)
Public Extension MethodGetTableReturns the MetaTable object that is associated with the specified data source control. (Defined by DynamicDataExtensions.)
Public Extension MethodLoadWith<(Of <(TEntity>)>)Sets the System.Data.Linq..::.DataLoadOptions value of a LINQ-to-SQL data source to force all the foreign-key entities to be loaded. (Defined by DynamicDataExtensions.)
Public Extension MethodLoadWithForeignKeysSets the System.Data.Linq..::.DataLoadOptions value of a LINQ-to-SQL data source to force all the foreign-key entities to be loaded. (Defined by DynamicDataExtensions.)
Public Extension MethodTryGetMetaTableDetermines whether table metadata is available. (Defined by DynamicDataExtensions.)
Top
  NameDescription
Explicit interface implemetationPrivate propertyIControlBuilderAccessor..::.ControlBuilderFor a description of this member, see IControlBuilderAccessor..::.ControlBuilder. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.GetDesignModeStateFor a description of this member, see IControlDesignerAccessor..::.GetDesignModeState. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.SetDesignModeStateFor a description of this member, see IControlDesignerAccessor..::.SetDesignModeState. (Inherited from Control.)
Explicit interface implemetationPrivate methodIControlDesignerAccessor..::.SetOwnerControlInfrastructure. For a description of this member, see IControlDesignerAccessor..::.SetOwnerControl. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIControlDesignerAccessor..::.UserDataFor a description of this member, see IControlDesignerAccessor..::.UserData. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIDataBindingsAccessor..::.DataBindingsFor a description of this member, see IDataBindingsAccessor..::.DataBindings. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIDataBindingsAccessor..::.HasDataBindingsFor a description of this member, see IDataBindingsAccessor..::.HasDataBindings. (Inherited from Control.)
Explicit interface implemetationPrivate eventIDataSource..::.DataSourceChangedInfrastructure. Occurs when a data source control has changed in a way that affects data-bound controls. (Inherited from DataSourceControl.)
Explicit interface implemetationPrivate methodIDataSource..::.GetViewInfrastructure. Gets the named DataSourceView object associated with the DataSourceControl control. Some data source controls support only one view, while others support more than one. (Inherited from DataSourceControl.)
Explicit interface implemetationPrivate methodIDataSource..::.GetViewNamesInfrastructure. Gets a collection of names, representing the list of DataSourceView objects associated with the DataSourceControl control. (Inherited from DataSourceControl.)
Explicit interface implemetationPrivate propertyIDynamicDataSource..::.ContextTypeFor a description of this member, see IDynamicDataSource.
Explicit interface implemetationPrivate propertyIDynamicDataSource..::.EntitySetNameFor a description of this member, see IDynamicDataSource.
Explicit interface implemetationPrivate eventIDynamicDataSource..::.ExceptionFor a description of this member, see IDynamicDataSource.
Explicit interface implemetationPrivate propertyIExpressionsAccessor..::.ExpressionsFor a description of this member, see IExpressionsAccessor..::.Expressions. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIExpressionsAccessor..::.HasExpressionsFor a description of this member, see IExpressionsAccessor..::.HasExpressions. (Inherited from Control.)
Explicit interface implemetationPrivate propertyIListSource..::.ContainsListCollectionInfrastructure. Indicates whether the data source control is associated with one or more lists of data. (Inherited from DataSourceControl.)
Explicit interface implemetationPrivate methodIListSource..::.GetListInfrastructure. Gets a list of data source controls that can be used as sources of lists of data. (Inherited from DataSourceControl.)
Explicit interface implemetationPrivate methodIParserAccessor..::.AddParsedSubObjectFor a description of this member, see IParserAccessor..::.AddParsedSubObject. (Inherited from Control.)
Top

In this topic:

Introduction

Language-Integrated Query (LINQ) is a query syntax that defines a set of query operators that enable traversal, filter, and projection operations to be expressed in a declarative way in any .NET-based programming language. The data object can be an in-memory data collection or an object that represents data from a database. You can retrieve or modify the data without having to write SQL commands for each operation.

The LinqDataSource control enables you to use LINQ in an ASP.NET Web page by setting properties in markup text. The LinqDataSource control uses LINQ to SQL to automatically generate the data commands. For more information about LINQ to SQL, see LINQ to SQL.

When you are retrieving data from an in-memory data collection, you set the ContextTypeName property to the class that contains the data collection. You set the TableName property to the property or field that returns the data collection. For example, you might have a class named Person that contains a property named FavoriteCities that returns an array of string values. In that case, you set the ContextTypeName property to Person and set the TableName property to FavoriteCities.

When you are querying a database, you must first create entity classes that represent the database and its tables. You can use the Object Relational Designer or the SqlMetal.exe utility to generate these classes. You then set the ContextTypeName property to the class that represents the database and set the TableName property to the property that represents the database table.

Order of Operations

The LinqDataSource control applies data operations in the following order:

  1. Where (specify which data records to return).

  2. Order By (sort).

  3. Group By (aggregate data records that share values).

  4. Order Groups By (sort grouped data).

  5. Select (specify which fields or properties to return).

  6. Auto-sort (sort data records by a property that the user has selected).

  7. Auto-page (retrieve a subset of data records that were selected by the user).

You can add conditions to the Where property to filter the data records that are returned from a query. If the Where property is not set, the LinqDataSource control retrieves every record from the data object.

Ordering Data

You use the OrderBy property to specify the names of properties from the returned data to sort by.

NoteNote

When you use the LinqDataSource control with SQL Server 2000 or SQL Server Compact 3.5 and the AutoPage property is set to true, you must provide a value in the OrderBy property. By default, the AutoPage property is true. If you assign a value to the Select property, you must also include all identity columns in the list of properties that is returned in the query.

Grouping Data

You use the GroupBy property to specify which properties are used to consolidate data records that have the same values. When you group data, you can include Key and It, which are dynamically created properties, in the Select property. The Key property refers to the values in the property or properties that were used to group the data. For example, if you group by a property named Category, the Key property will contain all unique values in the Category property. The It property refers to a collection of individual records in a grouping of data. You can iterate over the It property to retrieve the individual records that have been consolidated in the grouping operation. For example, if you group by a property named Category, the It property contains all the individual records that share a common value in the Category property.

You use the OrderGroupsBy property to specify the properties to use for sorting the grouped data. When you group data, the OrderBy property specifies how the individual records within the grouped data are sorted.

By default, the LinqDataSource control retrieves values for all the properties from a data object. You use the Select property to specify which properties to return if you want to work with a subset of available properties. The Select operation is applied after the Where, Order By, and Group By operations. Therefore, if you create an aliased name in a Select clause, the alias is not available in the other clauses.

Data Modifications

You can specify whether data modifications are enabled by using the EnableDelete, EnableInsert, and EnableUpdate properties. The user interface for modifying data from a LinqDataSource control is typically provided through a data-bound control, such as a DetailsView control. In addition to setting EnableDelete, EnableInsert, or EnableUpdate to true, the following conditions are required to enable automatic data modifications:

You can restrict which properties are displayed in a data-bound control in two ways. You can either set the Select property to a subset of properties, or you can define the fields for a data-bound control by adding DataControlField controls. However, if you set the Select property, it means that automatic update, insert, and delete operations cannot be enabled. If you want to enable automatic data modifications while you work with a subset of available properties, do not set the Select property. Instead, retrieve all properties from the data object and manage which ones are displayed by using the data-bound control. When you use the DetailsView control or the GridView control, you must also set the AutoGenerateRows or AutoGenerateColumns properties to false. This prevents the data-bound control from automatically including buttons for editing and deleting the data. Any values that are not displayed in the data-bound control are stored in view state. They are passed unchanged to the data source when the data update is performed.

Evaluating Values at Run Time

If you have to evaluate values at run time for ordering, filtering, or grouping values, you can add parameters to the WhereParameters, GroupByParameters, OrderGroupsByParameters, or OrderByParameters collections.

If you want to specify default values, you can add parameters to the InsertParameters collection.

If you want to examine or modify values before the data operation is executed, you can handle the Deleting, Inserting, Selecting, or Updating events. You can also handle these events in order to cancel the data operation or to examine validation errors that occurred when you set properties in the data class based on user input.

To examine values after the data operation has finished, handle the Deleted, Inserted, Selected, or Updated events.

Working with Stored Procedures

You use the LinqDataSource control to retrieve data from a stored procedure by creating an event handler for the Selecting event. In the event handler, you call the method in the data context class that represents the stored procedure and set the result to the Result property of the LinqDataSourceSelectEventArgs object. If you want to enable automatic update, insert, and delete operations for the data, the type that is returned from the method must match the type that is specified in the TableName property. For more information about creating data context methods, see How to: Create DataContext Methods Mapped to Stored Procedures and Functions (O/R Designer).

Declarative Syntax

<asp:LinqDataSource
    AutoGenerateOrderByClause="True|False"
    AutoGenerateWhereClause="True|False"
    AutoPage="True|False"
    AutoSort="True|False"
    ContextTypeName="string"
    EnableDelete="True|False"
    EnableInsert="True|False"
    EnableTheming="True|False"
    EnableUpdate="True|False"
    EnableViewState="True|False"
    GroupBy="string"
    ID="string"
    OnContextCreated="ContextCreated event handler"
    OnContextCreating="ContextCreating event handler"
    OnContextDisposing="ContextDisposing event handler"
    OnDataBinding="DataBinding event handler"
    OnDeleted="Deleted event handler"
    OnDeleting="Deleting event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnInserted="Inserted event handler"
    OnInserting="Inserting event handler"
    OnLoad="Load 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"
    OrderBy="string"
    runat="server"
    Select="string"
    SkinID="string"
    StoreOriginalValuesInViewState="True|False"
    TableName="string"
    Visible="True|False"
    Where="string"
>
        <GroupByParameters />
        <InsertParameters />
        <OrderByParameters />
        <SelectParameters />
        <WhereParameters />
</asp:LinqDataSource>

The following example shows a LinqDataSource control that retrieves data from an entity class named Products. The entity class could have been generated by using the O/R Designer or the SqlMetal.exe utility. The Where property is set to return only records that have a value in the Price property greater than 50. A GridView control is bound to the LinqDataSource control to display the data.

Visual Basic
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > 50"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
C#
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > 50"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

The following example shows a LinqDataSource control that enables users to update, delete, and insert records in the data source. A DetailsView control is bound to the LinqDataSource control and enables users to see and modify the data. Notice that no SQL commands are required in order to select, update, delete, or insert the records.

Visual Basic
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    EnableUpdate="true"
    EnableInsert="true"
    EnableDelete="true"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DetailsView 
    DataKeyNames="ProductID"
    AutoGenerateEditButton="true"
    AutoGenerateDeleteButton="true"
    AutoGenerateInsertButton="true"
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:DetailsView>
C#
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    EnableUpdate="true"
    EnableInsert="true"
    EnableDelete="true"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DetailsView 
    DataKeyNames="ProductID"
    AutoGenerateEditButton="true"
    AutoGenerateDeleteButton="true"
    AutoGenerateInsertButton="true"
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:DetailsView>

The following example shows an event handler for the Selecting event that sets the data object based on a value in the Web page.

Visual Basic
Partial Class Default3
    Inherits System.Web.UI.Page

    Dim citiesArray() As String = _
    { _
        "Atlanta", _
        "Charlotte", _
        "Denver", _
        "New York", _
        "San Francisco" _
    }


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub


    Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles LinqDataSource1.Selecting
        Dim cities = From city In citiesArray _
                     Where city > "B" _
                     Select city
        e.Result = cities
        ' Or we could set e.Result = citiesArray to return all rows.
    End Sub

End Class
C#
public partial class Default3 : System.Web.UI.Page
{
    string[] citiesArray = 
    { 
        "Atlanta", 
        "Charlotte", 
        "Denver", 
        "New York", 
        "San Francisco" 
    };

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        var cities = from city in citiesArray
                     where city.CompareTo("B") > 0
                     select city;
        e.Result = cities;
        // Or we could set e.Result = citiesArray to return all rows.
    }
}

The following example shows a LinqDataSource control that is configured to group by two columns. The Key property references an object that has two properties, ProductCategory and Color. The object represented by It is renamed (aliased) to Products. The renamed Products object contains a collection of the individual records in a grouping. Each instance will contain all the columns from the Products table.

Visual Basic
<asp:LinqDataSource 
  ContextTypeName="ExampleDataContext" 
  TableName="Products" 
  GroupBy="new(ProductCategory, Color)"
  Select="new(Key,
          It As Products,
          Max(ListPrice) As MaxListPrice, 
          Min(ListPrice) As MinListPrice)"
  ID="LinqDataSource1" 
  runat="server">
</asp:LinqDataSource>
C#
<asp:LinqDataSource 
  ContextTypeName="ExampleDataContext" 
  TableName="Products" 
  GroupBy="new(ProductCategory, Color)"
  Select="new(Key,
          It As Products,
          Max(ListPrice) As MaxListPrice, 
          Min(ListPrice) As MinListPrice)"
  ID="LinqDataSource1" 
  runat="server">
</asp:LinqDataSource>

The following example shows two ListView controls that display the data from the LinqDataSource control in the previous example. One ListView control displays the grouped data, and the other ListView control displays the individual names of products that belong to that group. The nested data-bound control's DataSource property is set to Products, which is the alias for the It object.

Visual Basic
<asp:ListView 
   DataSourceID="LinqDataSource1" 
   ID="ListView1" runat="server">

   <LayoutTemplate>
     <table id="Table1" 
         style="background-color:Teal;color:White" 
         runat="server" 
         class="Layout">

       <thead>
         <tr>
           <th><b>Product Category</b></th>
           <th><b>Color</b></th>
           <th><b>Highest Price</b></th>
           <th><b>Lowest Price</b></th>
         </tr>
       </thead>
       <tr runat="server" id="itemPlaceholder">
       </tr>

     </table>
   </LayoutTemplate>

   <ItemTemplate>
     <tr>
       <td><%# Eval("key.ProductCategory") %></td>
       <td><%# Eval("key.Color") %></td>
       <td><%# Eval("MaxListPrice") %></td>
       <td><%# Eval("MinListPrice") %></td>
     </tr>
     <tr>

       <td colspan="4" style="width:100%;background-color:White;color:Black">
         <asp:ListView 
           DataSource='<%# Eval("Products") %>' 
           runat="server" 
           ID="ListView2">

           <LayoutTemplate>
             <div runat="server" id="itemPlaceholder" />
           </LayoutTemplate>

           <ItemTemplate>
             <%# Eval("ProductName") %><br />
           </ItemTemplate>

         </asp:ListView> 
       </td>
     </tr>
   </ItemTemplate>
 </asp:ListView>
C#
<asp:ListView 
    DataSourceID="LinqDataSource1" 
    ID="ListView1" runat="server">

    <LayoutTemplate>
      <table id="Table1" 
          style="background-color:Teal;color:White" 
          runat="server" 
          class="Layout">

        <thead>
          <tr>
            <th><b>Product Category</b></th>
            <th><b>Color</b></th>
            <th><b>Highest Price</b></th>
            <th><b>Lowest Price</b></th>
          </tr>
        </thead>
        <tr runat="server" id="itemPlaceholder">
        </tr>

      </table>
    </LayoutTemplate>

    <ItemTemplate>
      <tr>
        <td><%# Eval("key.ProductCategory") %></td>
        <td><%# Eval("key.Color") %></td>
        <td><%# Eval("MaxListPrice") %></td>
        <td><%# Eval("MinListPrice") %></td>
      </tr>
      <tr>

        <td colspan="4" style="width:100%;background-color:White;color:Black">
          <asp:ListView 
            DataSource='<%# Eval("Products") %>' 
            runat="server" 
            ID="ListView2">

            <LayoutTemplate>
              <div runat="server" id="itemPlaceholder" />
            </LayoutTemplate>

            <ItemTemplate>
              <%# Eval("ProductName") %><br />
            </ItemTemplate>

          </asp:ListView> 
        </td>
      </tr>
    </ItemTemplate>
  </asp:ListView>

.NET Framework

Supported in: 4, 3.5

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Bibliothèque de classes .NET Framework
LinqDataSource, classe

Permet d'utiliser LINQ (Language-Integrated Query) sur une page Web ASP.NET via le texte de balisage pour récupérer et modifier des données à partir d'un objet de données.

Espace de noms :  System.Web.UI.WebControls
Assembly :  System.Web.Extensions (dans System.Web.Extensions.dll)
Visual Basic
<ToolboxBitmapAttribute(GetType(LinqDataSource), "LinqDataSource.bmp")> _
Public Class LinqDataSource _
    Inherits ContextDataSource _
    Implements IDynamicDataSource, IDataSource
C#
[ToolboxBitmapAttribute(typeof(LinqDataSource), "LinqDataSource.bmp")]
public class LinqDataSource : ContextDataSource, 
    IDynamicDataSource, IDataSource
VisualC++
[ToolboxBitmapAttribute(typeof(LinqDataSource), L"LinqDataSource.bmp")]
public ref class LinqDataSource : public ContextDataSource, 
    IDynamicDataSource, IDataSource
F#
[<ToolboxBitmapAttribute(typeof(LinqDataSource), "LinqDataSource.bmp")>]
type LinqDataSource =  
    class
        inherit ContextDataSource
        interface IDynamicDataSource
        interface IDataSource
    end
ASP.NET
<asp:LinqDataSource />

Le type LinqDataSource expose les membres suivants.

  NomDescription
Méthode publiqueLinqDataSourceInitialise une nouvelle instance de la classe LinqDataSource.
Début
  NomDescription
Propriété protégéeAdapterObtient l'adaptateur spécifique au navigateur pour le contrôle. (Hérité de Control.)
Propriété publiqueAppRelativeTemplateSourceDirectoryObtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle. (Hérité de Control.)
Propriété publiqueAutoGenerateOrderByClauseObtient ou définit une valeur qui indique si le contrôle LinqDataSource crée dynamiquement une clause Order By basée sur les valeurs de la collection OrderByParameters.
Propriété publiqueAutoGenerateWhereClauseObtient ou définit une valeur qui indique si le contrôle LinqDataSource crée dynamiquement une clause Where basée sur les valeurs définies dans la collection WhereParameters.
Propriété publiqueAutoPageObtient ou définit une valeur qui indique si le contrôle LinqDataSource prend en charge la navigation via les sections des données au moment de l'exécution.
Propriété publiqueAutoSortObtient ou définit une valeur qui indique si le contrôle LinqDataSource prend en charge le tri des données au moment de l'exécution.
Propriété publiqueBindingContainerInfrastructure. Obtient le contrôle qui contient la liaison de données de ce contrôle. (Hérité de Control.)
Propriété protégéeChildControlsCreatedObtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés. (Hérité de Control.)
Propriété publiqueClientIDObtient l'identificateur de contrôle serveur généré par ASP.NET. (Hérité de DataSourceControl.)
Propriété publiqueClientIDModeCette propriété n'est pas utilisée pour les contrôles de source de données. (Hérité de DataSourceControl.)
Propriété protégéeClientIDSeparatorObtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID. (Hérité de Control.)
Propriété protégéeContextObtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours. (Hérité de Control.)
Propriété publiqueContextTypeNameObtient ou définit le nom du type qui contient la propriété dont la valeur correspond aux données que vous souhaitez récupérer. (Substitue ContextDataSource..::.ContextTypeName.)
Propriété publiqueControlsObtient un objet ControlCollection qui représente les contrôles enfants d'un contrôle serveur spécifié dans la hiérarchie de l'interface utilisateur. (Hérité de DataSourceControl.)
Propriété publiqueDataItemContainerObtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer. (Hérité de Control.)
Propriété publiqueDataKeysContainerObtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl. (Hérité de Control.)
Propriété publiqueDeleteParametersCette propriété n'est pas utilisée par la classe LinqDataSource.
Propriété protégéeDesignModeObtient une valeur indiquant si un contrôle est utilisé sur une aire de conception. (Hérité de Control.)
Propriété publiqueEnableDeleteObtient ou définit une valeur qui indique si les enregistrements de données peuvent être supprimés via le contrôle LinqDataSource.
Propriété publiqueEnableInsertObtient ou définit une valeur qui indique si les enregistrements de données peuvent être insérés via le contrôle LinqDataSource.
Propriété publiqueEnableObjectTrackingObtient ou définit la valeur qui indique si les modifications apportées à l'objet de contexte de données font l'objet d'un suivi.
Propriété publiqueEnableThemingObtient une valeur indiquant si cet objet prend en charge des thèmes. (Hérité de DataSourceControl.)
Propriété publiqueEnableUpdateObtient ou définit une valeur qui indique si les enregistrements de données peuvent être mis à jour via le contrôle LinqDataSource.
Propriété publiqueEnableViewStateObtient ou définit une valeur indiquant si le contrôle serveur rend persistant son état d'affichage, ainsi que celui de tous les contrôles enfants qu'il contient, sur le client à l'origine de la demande. (Hérité de Control.)
Propriété protégéeEntitySetNameObtient ou définit le nom de la propriété ou du champ de l'objet source de données qui représente une collection de données. (Hérité de ContextDataSource.)
Propriété publiqueEntityTypeNameObtient ou définit le nom du type créé pour les opérations d'insertion, de suppression et de mise à jour. (Hérité de ContextDataSource.)
Propriété protégéeEventsObtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule. (Hérité de Control.)
Propriété publiqueGroupByObtient ou définit une valeur qui spécifie les propriétés utilisées pour regrouper les données récupérées.
Propriété publiqueGroupByParametersObtient la collection de paramètres utilisés pour créer la clause Group By.
Propriété protégéeHasChildViewStateObtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés. (Hérité de Control.)
Propriété publiqueIDObtient ou définit l'ID programmatique assigné au contrôle serveur. (Hérité de Control.)
Propriété protégéeIdSeparatorInfrastructure. Obtient le caractère utilisé pour séparer des identificateurs de contrôle. (Hérité de Control.)
Propriété publiqueInsertParametersObtient la collection de paramètres utilisés lors d'une opération d'insertion.
Propriété protégéeIsChildControlStateClearedObtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle. (Hérité de Control.)
Propriété protégéeIsTrackingViewStateObtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage. (Hérité de Control.)
Propriété protégéeIsViewStateEnabledObtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle. (Hérité de Control.)
Propriété protégéeLoadViewStateByIDObtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index. (Hérité de Control.)
Propriété publiqueNamingContainerObtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété Control..::.ID possède la même valeur. (Hérité de Control.)
Propriété publiqueOrderByObtient ou définit une valeur qui spécifie les champs utilisés pour classer les données récupérées.
Propriété publiqueOrderByParametersObtient la collection de paramètres utilisés pour créer la clause Order By.
Propriété publiqueOrderGroupsByObtient ou définit les champs utilisés pour trier des données groupées.
Propriété publiqueOrderGroupsByParametersObtient la collection de paramètres utilisés pour créer la clause Order Groups By.
Propriété publiquePageObtient une référence à l'instance de Page qui contient le contrôle serveur. (Hérité de Control.)
Propriété publiqueParentObtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page. (Hérité de Control.)
Propriété publiqueRenderingCompatibilityObtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible. (Hérité de Control.)
Propriété publiqueSelectObtient ou définit les propriétés et les valeurs calculées incluses dans les données récupérées.
Propriété publiqueSelectParametersObtient la collection de paramètres utilisés lors d'une opération de récupération de données.
Propriété publiqueSiteObtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception. (Hérité de Control.)
Propriété publiqueSkinIDObtient l'apparence à appliquer au contrôle DataSourceControl. (Hérité de DataSourceControl.)
Propriété publiqueStoreOriginalValuesInViewStateObtient ou définit une valeur qui indique si les données de la source de données doivent être stockées dans l'état d'affichage pour s'assurer que les données n'ont pas été modifiées par un autre processus avant leur mise à jour ou leur suppression.
Propriété publiqueTableNameObtient ou définit le nom de la propriété ou du champ de la classe de contexte de données qui représente une collection de données.
Propriété publiqueTemplateControlObtient ou définit une référence au modèle qui contient ce contrôle. (Hérité de Control.)
Propriété publiqueTemplateSourceDirectoryObtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours. (Hérité de Control.)
Propriété publiqueUniqueIDObtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur. (Hérité de Control.)
Propriété publiqueUpdateParametersCette collection n'est pas utilisée par la classe LinqDataSource.
Propriété protégéeViewStateObtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page. (Hérité de Control.)
Propriété protégéeViewStateIgnoresCaseObtient une valeur qui indique si l'objet StateBag respecte la casse. (Hérité de Control.)
Propriété publiqueViewStateModeObtient ou définit le mode d'état d'affichage de ce contrôle. (Hérité de Control.)
Propriété publiqueVisibleObtient ou définit une valeur indiquant l'affichage visuel ou non du contrôle. (Hérité de DataSourceControl.)
Propriété publiqueWhereObtient ou définit une valeur qui spécifie les conditions qui doivent être remplies pour qu'un enregistrement soit inclus dans les données récupérées.
Propriété publiqueWhereParametersObtient la collection de paramètres utilisée pour créer la clause Where.
Début
  NomDescription
Méthode protégéeAddedControlAppelée après l'ajout d'un contrôle enfant à la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégéeAddParsedSubObjectAvertit le contrôle serveur qu'un élément XML ou HTML a été analysé et l'ajoute à l'objet ControlCollection du contrôle serveur. (Hérité de Control.)
Méthode publiqueApplyStyleSheetSkinApplique les propriétés de style qui sont définies dans la feuille de style de la page au contrôle. (Hérité de DataSourceControl.)
Méthode protégéeBuildProfileTreeInfrastructure. Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page. (Hérité de Control.)
Méthode protégéeClearCachedClientIDInfrastructure. Affecte à la valeur ClientID mise en cache la valeur nullNothingnullptrune référence null (Nothing en Visual Basic). (Hérité de Control.)
Méthode protégéeClearChildControlStateSupprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearChildStateSupprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearChildViewStateSupprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégéeClearEffectiveClientIDModeInfrastructure. Affecte la valeur Inherit à la propriété ClientIDMode de l'instance de contrôle actuelle et de tous contrôles enfants. (Hérité de Control.)
Méthode protégéeCreateChildControlsAppelé par l'infrastructure de page ASP.NET pour avertir les contrôles serveur qui utilisent une implémentation basée sur la composition qu'ils doivent créer tous les contrôles enfants qu'ils contiennent en préparation de la publication ou du rendu. (Hérité de Control.)
Méthode protégéeCreateControlCollectionCrée une collection pour stocker des contrôles enfants. (Hérité de DataSourceControl.)
Méthode protégéeCreateQueryableViewRetourne un affichage pouvant être interrogé. (Substitue QueryableDataSource..::.CreateQueryableView()()().)
Méthode protégéeCreateViewCrée une nouvelle instance de la classe LinqDataSourceView associée à ce contrôle.
Méthode publiqueDataBind()()()Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants. (Hérité de Control.)
Méthode protégéeDataBind(Boolean)Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding. (Hérité de Control.)
Méthode protégéeDataBindChildrenLie une source de données aux contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode publiqueDeleteExécute une opération de suppression.
Méthode publiqueDisposePermet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire. (Hérité de Control.)
Méthode protégéeEnsureChildControlsDétermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée. (Hérité de Control.)
Méthode protégéeEnsureIDCrée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné. (Hérité de Control.)
Méthode publiqueEquals(Object)Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégéeFinalizeAutorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueFindControl(String)Recherche un contrôle serveur possédant le paramètre id spécifié dans le conteneur d'attribution de noms actuel. (Hérité de DataSourceControl.)
Méthode protégéeFindControl(String, Int32)Infrastructure. Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl. (Hérité de Control.)
Méthode publiqueFocusDéfinit le focus d'entrée sur le contrôle. (Hérité de DataSourceControl.)
Méthode protégéeGetDesignModeStateInfrastructure. Obtient les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetRouteUrl(Object)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(RouteValueDictionary)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(String, Object)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode publiqueGetRouteUrl(String, RouteValueDictionary)Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueGetUniqueIDRelativeToRetourne la partie préfixée de la propriété UniqueID du contrôle spécifié. (Hérité de Control.)
Méthode protégéeGetViewObtient la vue de source de données associée à l'objet QueryableDataSource. (Hérité de QueryableDataSource.)
Méthode protégéeGetViewNamesObtient une collection de noms qui représentent les affichages associés au contrôle QueryableDataSource. (Hérité de QueryableDataSource.)
Méthode publiqueHasControlsDétermine si le contrôle serveur contient des contrôles enfants. (Hérité de DataSourceControl.)
Méthode protégéeHasEventsRetourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants. (Hérité de Control.)
Méthode publiqueInsertExécute une opération d'insertion.
Méthode protégéeIsLiteralContentInfrastructure. Détermine si le contrôle serveur ne détient qu'un contenu littéral. (Hérité de Control.)
Méthode protégéeLoadControlStateRestaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState. (Hérité de Control.)
Méthode protégéeLoadViewStateCharge l'état des valeurs du contrôle QueryableDataSource qui doivent être persistantes. (Hérité de QueryableDataSource.)
Méthode protégéeMapPathSecureRécupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond. (Hérité de Control.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégéeOnBubbleEventDétermine si l'événement pour le contrôle serveur est passé dans la hiérarchie des contrôles serveur de l'interface utilisateur de la page. (Hérité de Control.)
Méthode protégéeOnDataBindingDéclenche l'événement DataBinding. (Hérité de Control.)
Méthode protégéeOnInitInitialise l'objet LinqDataSource. (Substitue QueryableDataSource..::.OnInit(EventArgs).)
Méthode protégéeOnLoadDéclenche l'événement Load. (Hérité de Control.)
Méthode protégéeOnPreRenderDéclenche l'événement PreRender. (Hérité de Control.)
Méthode protégéeOnUnloadDéclenche l'événement Unload. (Substitue Control..::.OnUnload(EventArgs).)
Méthode protégéeOpenFileObtient un Stream utilisé pour lire un fichier. (Hérité de Control.)
Méthode protégéeRaiseBubbleEventAssigne les sources éventuelles de l'événement et ses informations au parent du contrôle. (Hérité de Control.)
Méthode protégéeRaiseDataSourceChangedEventDéclenche l'événement DataSourceChanged. (Hérité de DataSourceControl.)
Méthode publiqueRaiseViewChangedAppelle la méthode OnDataSourceViewChanged de la classe DataSourceView. (Hérité de QueryableDataSource.)
Méthode protégéeRemovedControlAppelée après la suppression d'un contrôle enfant dans la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégéeRenderEnvoie le contenu du contrôle serveur à un objet HtmlTextWriter fourni, qui écrit le contenu à rendre sur le client. (Hérité de Control.)
Méthode protégéeRenderChildrenRenvoie le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni, qui écrit le contenu à rendre sur le client. (Hérité de Control.)
Méthode publiqueRenderControl(HtmlTextWriter)Renvoie le contenu du contrôle serveur dans un objet HtmlTextWriter fourni et stocke des informations de traçage au sujet du contrôle si le traçage est activé. (Hérité de DataSourceControl.)
Méthode protégéeRenderControl(HtmlTextWriter, ControlAdapter)Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni. (Hérité de Control.)
Méthode protégéeResolveAdapterObtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié. (Hérité de Control.)
Méthode publiqueResolveClientUrlObtient une URL qui peut être utilisée par le navigateur. (Hérité de Control.)
Méthode publiqueResolveUrlConvertit une URL en une URL que le client soit en mesure d'utiliser. (Hérité de Control.)
Méthode protégéeSaveControlStateEnregistre les modifications éventuellement apportées à l'état du contrôle serveur depuis la publication de la page sur le serveur. (Hérité de Control.)
Méthode protégéeSaveViewStateEnregistre l'état d'affichage actuel du contrôle QueryableDataSource. (Hérité de QueryableDataSource.)
Méthode protégéeSetDesignModeStateDéfinit les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publiqueSetRenderMethodDelegateInfrastructure. Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent. (Hérité de Control.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode protégéeTrackViewStateSuit les modifications d'état d'affichage apportées au contrôle QueryableDataSource afin que les modifications puissent être stockées dans l'objet StateBag du contrôle. (Hérité de QueryableDataSource.)
Méthode publiqueUpdateExécute une opération de mise à jour.
Méthode protégéeUpdateParameterValesMet à jour les valeurs de paramètres qui ont changé depuis la demande précédente. (Hérité de QueryableDataSource.)
Début
  NomDescription
Événement publicContextCreatedSe produit après la création d'une instance du type d'objet de contexte.
Événement publicContextCreatingSe produit avant la création d'une instance du type d'objet de contexte.
Événement publicContextDisposingSe produit avant la suppression du type d'objet de contexte.
Événement publicDataBindingSe produit lorsque le contrôle serveur se lie à une source de données. (Hérité de Control.)
Événement publicDeletedSe produit une fois l'opération de suppression terminée.
Événement publicDeletingSe produit avant une opération de suppression.
Événement publicDisposedSe produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET. (Hérité de Control.)
Événement publicInitSe produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie. (Hérité de Control.)
Événement publicInsertedSe produit une fois l'opération d'insertion terminée.
Événement publicInsertingSe produit avant une opération d'insertion.
Événement publicLoadSe produit lorsque le contrôle serveur est chargé dans l'objet Page. (Hérité de Control.)
Événement publicPreRenderSe produit après le chargement de l'objet Control mais avant le rendu. (Hérité de Control.)
Événement publicQueryCreatedSe produit lorsqu'une requête est ajoutée à un contrôle de source de données ou en est supprimée. (Hérité de QueryableDataSource.)
Événement publicSelectedSe produit une fois l'opération de récupération de données terminée.
Événement publicSelectingSe produit avant une opération de récupération de données.
Événement publicUnloadSe produit lorsque le contrôle serveur est déchargé de la mémoire. (Hérité de Control.)
Événement publicUpdatedSe produit une fois l'opération de mise à jour terminée.
Événement publicUpdatingSe produit avant une opération de mise à jour.
Début
  NomDescription
Méthode d'extension publiqueExpandDynamicWhereParametersDéveloppe des filtres dynamiques dans les paramètres Where qui sont utilisables par la source de données. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueFindDataSourceControlRetourne la source de données associée au contrôle de données pour le contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueFindFieldTemplateRetourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueFindMetaTableRetourne l'objet Metatable pour le contrôle de données conteneur. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueGetDefaultValuesObtient la collection des valeurs par défaut pour la source de données spécifiée. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueGetMetaTableObtient les métadonnées pour une table dans l'objet source de données spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueGetTableRetourne l'objet MetaTable associé au contrôle de source de données spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueLoadWith<(Of <(TEntity>)>)Définit la valeur System.Data.Linq..::.DataLoadOptions d'une source de données LINQ-to-SQL pour forcer le chargement de toutes les entités de clé étrangère. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueLoadWithForeignKeysDéfinit la valeur System.Data.Linq..::.DataLoadOptions d'une source de données LINQ-to-SQL pour forcer le chargement de toutes les entités de clé étrangère. (Défini par DynamicDataExtensions.)
Méthode d'extension publiqueTryGetMetaTableDétermine si des métadonnées de table sont disponibles. (Défini par DynamicDataExtensions.)
Début
  NomDescription
Implémentation d'interface explicitePropriété privéeIControlBuilderAccessor..::.ControlBuilderPour obtenir une description de ce membre, consultez IControlBuilderAccessor..::.ControlBuilder. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.GetDesignModeStatePour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.GetDesignModeState. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.SetDesignModeStatePour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.SetDesignModeState. (Hérité de Control.)
Implémentation d'interface expliciteMéthode privéeIControlDesignerAccessor..::.SetOwnerControlInfrastructure. Pour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.SetOwnerControl. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIControlDesignerAccessor..::.UserDataPour obtenir une description de ce membre, consultez IControlDesignerAccessor..::.UserData. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIDataBindingsAccessor..::.DataBindingsPour obtenir une description de ce membre, consultez IDataBindingsAccessor..::.DataBindings. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIDataBindingsAccessor..::.HasDataBindingsPour obtenir une description de ce membre, consultez IDataBindingsAccessor..::.HasDataBindings. (Hérité de Control.)
Implémentation d'interface expliciteÉvénement privéIDataSource..::.DataSourceChangedInfrastructure. Se produit lorsqu'un contrôle de code source de données a changé d'une manière qui affecte des contrôles liés aux données. (Hérité de DataSourceControl.)
Implémentation d'interface expliciteMéthode privéeIDataSource..::.GetViewInfrastructure. Obtient l'objet nommé DataSourceView associé au contrôle DataSourceControl. Certains contrôles de code source de données ne prennent en charge qu'un affichage, contrairement à d'autres qui en gèrent plusieurs. (Hérité de DataSourceControl.)
Implémentation d'interface expliciteMéthode privéeIDataSource..::.GetViewNamesInfrastructure. Obtient une collection de noms, représentant la liste des objets DataSourceView associés au contrôle DataSourceControl. (Hérité de DataSourceControl.)
Implémentation d'interface explicitePropriété privéeIDynamicDataSource..::.ContextTypePour obtenir une description de ce membre, consultez IDynamicDataSource.
Implémentation d'interface explicitePropriété privéeIDynamicDataSource..::.EntitySetNamePour obtenir une description de ce membre, consultez IDynamicDataSource.
Implémentation d'interface expliciteÉvénement privéIDynamicDataSource..::.ExceptionPour obtenir une description de ce membre, consultez IDynamicDataSource.
Implémentation d'interface explicitePropriété privéeIExpressionsAccessor..::.ExpressionsPour obtenir une description de ce membre, consultez IExpressionsAccessor..::.Expressions. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIExpressionsAccessor..::.HasExpressionsPour obtenir une description de ce membre, consultez IExpressionsAccessor..::.HasExpressions. (Hérité de Control.)
Implémentation d'interface explicitePropriété privéeIListSource..::.ContainsListCollectionInfrastructure. Indique si le contrôle de code source de données est associé à une ou à plusieurs listes de données. (Hérité de DataSourceControl.)
Implémentation d'interface expliciteMéthode privéeIListSource..::.GetListInfrastructure. Obtient une liste des contrôles de code source de données qui peuvent être utilisés comme sources des listes de données. (Hérité de DataSourceControl.)
Implémentation d'interface expliciteMéthode privéeIParserAccessor..::.AddParsedSubObjectPour obtenir une description de ce membre, consultez IParserAccessor..::.AddParsedSubObject. (Hérité de Control.)
Début

Dans cette rubrique :

Introduction

LINQ (Language-Integrated Query) est une syntaxe de requête qui définit un jeu d'opérateurs de requête permettant d'exprimer de manière déclarative les opérations de parcours, de filtre et de projection dans tous les langages de programmation .NET. L'objet de données peut être une collection de données en mémoire ou un objet qui représente les données d'une base de données. Vous pouvez récupérer ou modifier les données sans écrire de commandes SQL pour chaque opération.

Le contrôle LinqDataSource vous permet d'utiliser la requête LINQ sur une page Web ASP.NET en définissant les propriétés dans le texte de balisage. Le contrôle LinqDataSource utilise la requête LINQ to SQL pour générer automatiquement les commandes de données. Pour plus d'informations sur LINQ to SQL, consultez LINQ to SQL.

Lorsque vous récupérez des données à partir d'une collection de données en mémoire, vous affectez à la propriété ContextTypeName la classe qui contient la collection de données. Vous affectez comme valeur à la propriété TableName la propriété ou le champ qui retourne la collection de données. Par exemple, une classe appelée Person peut contenir une propriété appelée FavoriteCities qui retourne un tableau de valeurs de chaîne. Dans ce cas, vous affectez la valeur Person à la propriété ContextTypeName et la valeur FavoriteCities à la propriété TableName.

Lorsque vous interrogez une base de données, vous devez d'abord créer des classes d'entité qui représentent la base de données et ses tables. Vous pouvez utiliser l'utilitaire Concepteur Objet/Relationnel ou SqlMetal.exe pour générer ces classes. Vous affectez ensuite à la propriété ContextTypeName la classe qui représente la base de données et vous affectez à la propriété TableName la propriété qui représente la table de base de données.

Ordre d'opérations

Le contrôle LinqDataSource applique les opérations de données dans l'ordre suivant :

  1. Where (spécifie les enregistrements de données à retourner).

  2. Order By (trie).

  3. Group By (regroupe les enregistrements de données qui partagent des valeurs).

  4. Order Groups By (trie les données groupées).

  5. Select (spécifie les champs ou propriétés à retourner).

  6. Auto-sort (trie les enregistrements de données selon une propriété sélectionnée par l'utilisateur).

  7. Auto-page (récupère un sous-ensemble d'enregistrements de données sélectionnés par l'utilisateur).

Vous pouvez ajouter des conditions à la propriété Where pour filtrer les enregistrements de données retournés par une requête. Si la propriété Where n'est pas définie, le contrôle LinqDataSource récupère tous les enregistrements de l'objet de données.

Classification de données

Vous utilisez la propriété OrderBy pour spécifier le nom des propriétés à partir des données retournées à trier.

RemarqueRemarque

Lorsque vous utilisez le contrôle LinqDataSource avec SQL Server 2000 ou SQL Server Compact 3.5 et que la propriété AutoPage a la valeur true, vous devez fournir une valeur dans la propriété OrderBy. Par défaut, la propriété AutoPage a la valeur true. Si vous assignez une valeur à la propriété Select, vous devez également inclure toutes les colonnes d'identité dans la liste de propriétés retournée dans la requête.

Regroupement de données

Vous utilisez la propriété GroupBy pour spécifier les propriétés utilisées pour consolider des enregistrements de données ayant les mêmes valeurs. Lorsque vous regroupez des données, vous pouvez inclure les propriétés créées dynamiquement Key et It dans la propriété Select. La propriété Key fait référence aux valeurs de la ou des propriétés utilisées pour regrouper les données. Par exemple, si vous effectuez un regroupement par une propriété appelée Category, la propriété Key contiendra toutes les valeurs uniques de la propriété Category. La propriété It fait référence à une collection d'enregistrements individuels dans un regroupement de données. Vous pouvez itérer sur la propriété It pour récupérer les enregistrements individuels consolidés dans l'opération de regroupement. Par exemple, si vous effectuez un regroupement par une propriété appelée Category, la propriété It contient tous les enregistrements individuels qui partagent une valeur commune dans la propriété Category.

Vous utilisez la propriété OrderGroupsBy pour spécifier les propriétés à utiliser pour le tri des données groupées. Lorsque vous groupez des données, la propriété OrderBy spécifie comment sont triés les enregistrements individuels dans les données groupées.

Par défaut, le contrôle LinqDataSource récupère les valeurs pour toutes les propriétés d'un objet de données. Vous utilisez la propriété Select pour spécifier les propriétés à retourner si vous souhaitez utiliser un sous-ensemble de propriétés disponibles. L'opération Select est appliquée après les opérations Where, Order By et Group By. Par conséquent, si vous créez un nom d'alias dans une clause Select, l'alias n'est pas disponible dans les autres clauses.

Modifications de données

Vous pouvez spécifier si les modifications de données sont activées à l'aide des propriétés EnableDelete, EnableInsert et EnableUpdate. En général, l'interface utilisateur pour la modification des données d'un contrôle LinqDataSource est fournie via un contrôle lié aux données, tel qu'un contrôle DetailsView. En plus d'affecter la valeur true à EnableDelete, EnableInsert ou EnableUpdate, les conditions suivantes sont requises pour activer la modification automatique des données :

Il existe deux manières de limiter le nombre de propriétés affichées dans un contrôle lié aux données. Vous pouvez affecter un sous-ensemble de propriétés à la propriété Select ou définir les champs d'un contrôle lié aux données en ajoutant des contrôles DataControlField. Toutefois, si vous définissez la propriété Select, les opérations automatiques de mise à jour, d'insertion et de suppression ne pourront pas être activées. Pour activer la modification automatique des données pendant que vous utilisez un sous-ensemble de propriétés disponibles, ne définissez pas la propriété Select. Récupérez plutôt toutes les propriétés depuis l'objet de données et gérez celles qui sont affichées à l'aide du contrôle lié aux données. Lorsque vous utilisez le contrôle DetailsView ou GridView, vous devez également affecter la valeur false à la propriété AutoGenerateRows ou AutoGenerateColumns. Cela empêche l'ajout automatique de boutons pour la modification et la suppression des données par le contrôle lié aux données. Les valeurs qui ne sont pas affichées dans le contrôle lié aux données sont stockées dans l'état d'affichage. Elles sont passées à la source de données sans être modifiées lors de la mise à jour des données.

Évaluation de Valeurs au moment de l'exécution

Si vous devez évaluer des valeurs de classement, de filtrage ou de regroupement au moment de l'exécution, vous pouvez ajouter des paramètres aux collections WhereParameters, GroupByParameters, OrderGroupsByParameters ou OrderByParameters.

Si vous souhaitez spécifier des valeurs par défaut, vous pouvez ajouter des paramètres à la collection InsertParameters.

Si vous souhaitez examiner ou modifier des valeurs avant d'exécuter l'opération de données, vous pouvez gérer l'événement Deleting, Inserting, Selecting ou Updating. Vous pouvez également traiter ces événements afin d'annuler l'opération de données ou d'examiner les erreurs de validation qui se sont produites lorsque vous avez défini les propriétés de la classe de données sur la base de l'entrée d'utilisateur.

Pour examiner les valeurs une fois l'opération de données terminée, gérez l'événement Deleted, Inserted, Selected ou Updated.

Utilisation de procédures stockées

Vous utilisez le contrôle LinqDataSource pour récupérer les données d'une procédure stockée en créant un gestionnaire d'événements pour l'événement Selecting. Dans le gestionnaire d'événements, vous appelez la méthode dans la classe de contexte de données qui représente la procédure stockée, puis vous affectez le résultat à la propriété Result de l'objet LinqDataSourceSelectEventArgs. Si vous souhaitez activer les opérations de mise à jour, d'insertion et de suppression de données, le type retourné par la méthode doit correspondre au type spécifié dans la propriété TableName. Pour plus d'informations sur la création des méthodes de contexte des données, consultez Procédure : créer des méthodes DataContext mappées à des procédures stockées et à des fonctions (Concepteur O/R).

Syntaxe déclarative

<asp:LinqDataSource
    AutoGenerateOrderByClause="True|False"
    AutoGenerateWhereClause="True|False"
    AutoPage="True|False"
    AutoSort="True|False"
    ContextTypeName="string"
    EnableDelete="True|False"
    EnableInsert="True|False"
    EnableTheming="True|False"
    EnableUpdate="True|False"
    EnableViewState="True|False"
    GroupBy="string"
    ID="string"
    OnContextCreated="ContextCreated event handler"
    OnContextCreating="ContextCreating event handler"
    OnContextDisposing="ContextDisposing event handler"
    OnDataBinding="DataBinding event handler"
    OnDeleted="Deleted event handler"
    OnDeleting="Deleting event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnInserted="Inserted event handler"
    OnInserting="Inserting event handler"
    OnLoad="Load 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"
    OrderBy="string"
    runat="server"
    Select="string"
    SkinID="string"
    StoreOriginalValuesInViewState="True|False"
    TableName="string"
    Visible="True|False"
    Where="string"
>
        <GroupByParameters />
        <InsertParameters />
        <OrderByParameters />
        <SelectParameters />
        <WhereParameters />
</asp:LinqDataSource>

L'exemple suivant décrit un contrôle LinqDataSource qui récupère les données d'une classe d'entité appelée Products. La classe d'entité peut être générée à l'aide de l'utilitaire Concepteur O/R ou SqlMetal.exe. La propriété Where est configurée pour retourner uniquement des enregistrements qui ont une valeur dans la propriété Price supérieure à 50. Un contrôle GridView est lié au contrôle LinqDataSource pour afficher les données.

Visual Basic
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > 50"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
C#
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > 50"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

L'exemple suivant décrit un contrôle LinqDataSource qui permet aux utilisateurs de mettre à jour, de supprimer et d'insérer des enregistrements dans la source de données. Un contrôle DetailsView est lié au contrôle LinqDataSource et permet aux utilisateurs de visualiser et de modifier les données. Notez qu'aucune commande SQL n'est requise pour sélectionner, mettre à jour, supprimer ou insérer les enregistrements.

Visual Basic
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    EnableUpdate="true"
    EnableInsert="true"
    EnableDelete="true"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DetailsView 
    DataKeyNames="ProductID"
    AutoGenerateEditButton="true"
    AutoGenerateDeleteButton="true"
    AutoGenerateInsertButton="true"
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:DetailsView>
C#
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    EnableUpdate="true"
    EnableInsert="true"
    EnableDelete="true"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:DetailsView 
    DataKeyNames="ProductID"
    AutoGenerateEditButton="true"
    AutoGenerateDeleteButton="true"
    AutoGenerateInsertButton="true"
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:DetailsView>

L'exemple suivant décrit un gestionnaire d'événements pour l'événement Selecting qui définit l'objet de données selon une valeur de la page Web.

Visual Basic
Partial Class Default3
    Inherits System.Web.UI.Page

    Dim citiesArray() As String = _
    { _
        "Atlanta", _
        "Charlotte", _
        "Denver", _
        "New York", _
        "San Francisco" _
    }


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub


    Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles LinqDataSource1.Selecting
        Dim cities = From city In citiesArray _
                     Where city > "B" _
                     Select city
        e.Result = cities
        ' Or we could set e.Result = citiesArray to return all rows.
    End Sub

End Class
C#
public partial class Default3 : System.Web.UI.Page
{
    string[] citiesArray = 
    { 
        "Atlanta", 
        "Charlotte", 
        "Denver", 
        "New York", 
        "San Francisco" 
    };

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        var cities = from city in citiesArray
                     where city.CompareTo("B") > 0
                     select city;
        e.Result = cities;
        // Or we could set e.Result = citiesArray to return all rows.
    }
}

L'exemple suivant illustre un contrôle LinqDataSource configuré pour regrouper en deux colonnes. La propriété Key fait référence à un objet qui a deux propriétés, ProductCategory et Color. L'objet représenté par It est renommé (alias) Products. L'objet Products renommé contient une collection des enregistrements individuels d'un regroupement. Chaque instance contiendra toutes les colonnes de la table Products.

Visual Basic
<asp:LinqDataSource 
  ContextTypeName="ExampleDataContext" 
  TableName="Products" 
  GroupBy="new(ProductCategory, Color)"
  Select="new(Key,
          It As Products,
          Max(ListPrice) As MaxListPrice, 
          Min(ListPrice) As MinListPrice)"
  ID="LinqDataSource1" 
  runat="server">
</asp:LinqDataSource>
C#
<asp:LinqDataSource 
  ContextTypeName="ExampleDataContext" 
  TableName="Products" 
  GroupBy="new(ProductCategory, Color)"
  Select="new(Key,
          It As Products,
          Max(ListPrice) As MaxListPrice, 
          Min(ListPrice) As MinListPrice)"
  ID="LinqDataSource1" 
  runat="server">
</asp:LinqDataSource>

L'exemple suivant décrit deux contrôles ListView qui affichent les données du contrôle LinqDataSource de l'exemple précédent. Un contrôle ListView affiche les données groupées et l'autre contrôle ListView affiche les noms individuels des produits qui appartiennent à ce groupe. La propriété DataSource du contrôle imbriqué lié aux données a la valeur Products, ce qui correspond à l'alias de l'objet It.

Visual Basic
<asp:ListView 
   DataSourceID="LinqDataSource1" 
   ID="ListView1" runat="server">

   <LayoutTemplate>
     <table id="Table1" 
         style="background-color:Teal;color:White" 
         runat="server" 
         class="Layout">

       <thead>
         <tr>
           <th><b>Product Category</b></th>
           <th><b>Color</b></th>
           <th><b>Highest Price</b></th>
           <th><b>Lowest Price</b></th>
         </tr>
       </thead>
       <tr runat="server" id="itemPlaceholder">
       </tr>

     </table>
   </LayoutTemplate>

   <ItemTemplate>
     <tr>
       <td><%# Eval("key.ProductCategory") %></td>
       <td><%# Eval("key.Color") %></td>
       <td><%# Eval("MaxListPrice") %></td>
       <td><%# Eval("MinListPrice") %></td>
     </tr>
     <tr>

       <td colspan="4" style="width:100%;background-color:White;color:Black">
         <asp:ListView 
           DataSource='<%# Eval("Products") %>' 
           runat="server" 
           ID="ListView2">

           <LayoutTemplate>
             <div runat="server" id="itemPlaceholder" />
           </LayoutTemplate>

           <ItemTemplate>
             <%# Eval("ProductName") %><br />
           </ItemTemplate>

         </asp:ListView> 
       </td>
     </tr>
   </ItemTemplate>
 </asp:ListView>
C#
<asp:ListView 
    DataSourceID="LinqDataSource1" 
    ID="ListView1" runat="server">

    <LayoutTemplate>
      <table id="Table1" 
          style="background-color:Teal;color:White" 
          runat="server" 
          class="Layout">

        <thead>
          <tr>
            <th><b>Product Category</b></th>
            <th><b>Color</b></th>
            <th><b>Highest Price</b></th>
            <th><b>Lowest Price</b></th>
          </tr>
        </thead>
        <tr runat="server" id="itemPlaceholder">
        </tr>

      </table>
    </LayoutTemplate>

    <ItemTemplate>
      <tr>
        <td><%# Eval("key.ProductCategory") %></td>
        <td><%# Eval("key.Color") %></td>
        <td><%# Eval("MaxListPrice") %></td>
        <td><%# Eval("MinListPrice") %></td>
      </tr>
      <tr>

        <td colspan="4" style="width:100%;background-color:White;color:Black">
          <asp:ListView 
            DataSource='<%# Eval("Products") %>' 
            runat="server" 
            ID="ListView2">

            <LayoutTemplate>
              <div runat="server" id="itemPlaceholder" />
            </LayoutTemplate>

            <ItemTemplate>
              <%# Eval("ProductName") %><br />
            </ItemTemplate>

          </asp:ListView> 
        </td>
      </tr>
    </ItemTemplate>
  </asp:ListView>

.NET Framework

Pris en charge dans : 4, 3.5

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2012 Microsoft. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker