LinqDataSourceSelectEventArgs.Result Eigenschaft

Definition

Ruft das in der Datenabfrage verwendete Datenobjekt ab oder legt dieses fest.

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

Eigenschaftswert

Ein Objekt, das die Daten für die Abfrage darstellt.

Beispiele

Das folgende Beispiel zeigt, wie die Result -Eigenschaft auf das Ergebnis einer LINQ-Abfrage festgelegt wird.

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

Das folgende Beispiel zeigt, wie die Result -Eigenschaft auf ein Array von Zeichenfolgenwerten festgelegt wird, das auf der Webseite definiert ist.

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

Hinweise

Standardmäßig wendet das LinqDataSource Steuerelement seine Abfrageausdrücke auf das in der TableName -Eigenschaft definierte Objekt an. In einem Handler für das Selecting Ereignis können Sie manuell ändern, welches Objekt abgefragt wird, indem Sie die Result -Eigenschaft auf ein -Objekt festlegen. Beispielsweise können Sie die Result -Eigenschaft verwenden, um eine In-Memory-Auflistung auf der Webseite abzufragen oder die Ergebnisse aus einem LINQ-Abfrageausdruck abzurufen. Sie können die Result -Eigenschaft auf ein beliebiges Objekt festlegen. Wenn das -Objekt die IEnumerable<T> -Schnittstelle nicht implementiert, umschließt das LinqDataSource -Steuerelement das -Objekt in ein Objekt, das die IEnumerable<T> -Schnittstelle implementiert.

Wenn die Result -Eigenschaft auf einen anderen Wert als nullfestgelegt ist, fragt das LinqDataSource Steuerelement das in der TableName -Eigenschaft definierte Objekt nicht ab. Stattdessen wird das -Objekt in der Result -Eigenschaft abfragt.

Hinweis

Wenn Sie die Result -Eigenschaft auf ein -Objekt festlegen, verwenden null Sie nicht, um ein Objekt darzustellen, das keine Daten enthält. Das LinqDataSource -Steuerelement interpretiert null so, dass die Result -Eigenschaft nicht festgelegt ist und das Objekt in der TableName -Eigenschaft erstellt und abfragt. Um ein Objekt darzustellen, das keine Daten enthält, legen Sie die Result -Eigenschaft auf ein - oder IList<T> -IListObjekt fest, das keine Elemente enthält.

Die ContextCreatingEreignisse , ContextCreatedund ContextDisposing werden nicht ausgelöst, wenn Sie die Result Eigenschaft programmgesteuert auf ein -Objekt festlegen und wenn zwei zusätzliche Bedingungen gelten. Die Bedingungen sind, dass entweder die ursprünglichen Werte nicht im Ansichtszustand gespeichert werden müssen, oder dass das Objekt in der Result -Eigenschaft die ITable -Schnittstelle implementiert.

Gilt für:

Weitere Informationen