LinqDataSourceSelectEventArgs.Result Propriété

Définition

Obtient ou définit l'objet de données utilisé dans la requête de données.

public:
 property System::Object ^ Result { System::Object ^ get(); void set(System::Object ^ value); };
public object Result { get; set; }
member this.Result : obj with get, set
Public Property Result As Object

Valeur de propriété

Objet qui représente les données de la requête.

Exemples

L’exemple suivant montre comment définir la Result propriété sur le résultat d’une requête LINQ.

protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    ExampleDataContext exampleContext = new ExampleDataContext();
    
    e.Result = from p in exampleContext.Products 
         where p.Category == "Beverages"
         select new {
           ID = p.ProductID,
           Name = p.Name
         };
}
Protected Sub LinqDataSource_Selecting(sender As Object, e As LinqDataSourceSelectEventArgs)
    Dim exampleContext As New ExampleDataContext()

    e.Result = From p In exampleContext.Products Where p.Category = "Beverages"
               Select New With { _
                    Key .ID = p.ProductID, _
                    Key .Name = p.Name _
    }
End Sub

L’exemple suivant montre comment définir la Result propriété sur un tableau de valeurs de chaîne est défini dans la page Web.

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.
    }
}
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

Remarques

Par défaut, le LinqDataSource contrôle applique ses expressions de requête à l’objet défini dans la TableName propriété . Dans un gestionnaire de l’événement Selecting , vous pouvez modifier manuellement l’objet interrogé en définissant la Result propriété sur un objet . Par exemple, vous pouvez utiliser la Result propriété pour interroger une collection en mémoire dans la page Web ou pour obtenir les résultats d’une expression de requête LINQ. Vous pouvez définir la propriété sur Result n’importe quel objet. Si l’objet n’implémente pas l’interface IEnumerable<T> , le LinqDataSource contrôle encapsule l’objet dans un objet qui implémente l’interface IEnumerable<T> .

Lorsque la Result propriété est définie sur une valeur autre que null, le LinqDataSource contrôle n’interroge pas l’objet défini dans la TableName propriété . Au lieu de cela, il interroge l’objet dans la Result propriété .

Notes

Lorsque vous définissez la Result propriété sur un objet, n’utilisez null pas pour représenter un objet qui ne contient pas de données. Le LinqDataSource contrôle interprète null comme signifiant que la Result propriété n’est pas définie et qu’il crée et interroge l’objet dans la TableName propriété . Pour représenter un objet qui ne contient pas de données, définissez la propriété sur Result un IList objet ou IList<T> qui ne contient aucun élément.

Les ContextCreatingévénements , ContextCreatedet ContextDisposing ne sont pas déclenchés lorsque vous définissez par programmation la Result propriété sur un objet et lorsque deux conditions supplémentaires s’appliquent. Les conditions sont que les valeurs d’origine n’ont pas besoin d’être stockées dans l’état d’affichage, ou que l’objet dans la Result propriété implémente l’interface ITable .

S’applique à

Voir aussi