LinqDataSourceSelectEventArgs.Result Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 null
festgelegt 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.