Freigeben über


LinqDataSourceSelectEventArgs.Result Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Datenobjekts, das in der Datenabfrage verwendet wird.

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. Sie können beispielsweise die Result Eigenschaft verwenden, um eine Speicherauflistung 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 einem 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 fragt es das Objekt in der Result Eigenschaft ab.

Hinweis

Wenn Sie die Result Eigenschaft auf ein Objekt festlegen, müssen null Sie kein Objekt darstellen, das keine Daten enthält. Das LinqDataSource Steuerelement interpretiert null , 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 IList Oder IList<T> Objekt fest, das keine Elemente enthält.

Die ContextCreatingEreignisse ContextCreatedund ContextDisposing Ereignisse 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 die ursprünglichen Werte nicht im Ansichtszustand gespeichert werden müssen, oder das Objekt in der Result Eigenschaft implementiert die ITable Schnittstelle.

Gilt für:

Weitere Informationen