Språk

LinqDataSourceSelectEventArgs.Result Egenskap

Definition

Hämtar eller anger dataobjektet som används i datafrågan.

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

Egenskapsvärde

Ett objekt som representerar data för frågan.

Exempel

I följande exempel visas hur du anger Result egenskapen till resultatet av en LINQ-fråga.

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

I följande exempel visas hur du anger Result egenskapen till en matris med strängvärden som definieras på webbsidan.

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

Kommentarer

Som standard LinqDataSource tillämpar kontrollen sina frågeuttryck på det objekt som definierats i egenskapen TableName . I en hanterare för Selecting händelsen kan du manuellt ändra vilket objekt som efterfrågas genom att ange Result egenskapen till ett objekt. Du kan till exempel använda Result egenskapen för att köra frågor mot en minnesintern samling på webbsidan eller för att hämta resultatet från ett LINQ-frågeuttryck. Du kan ange egenskapen Result till valfritt objekt. Om objektet inte implementerar IEnumerable<T> gränssnittet LinqDataSource omsluter kontrollen objektet i ett objekt som implementerar IEnumerable<T> gränssnittet.

När egenskapen Result är inställd på något annat värde än null, LinqDataSource frågar kontrollen inte objektet som definierats i TableName egenskapen. I stället frågar den objektet i egenskapen Result .

Note

När du anger Result egenskapen till ett objekt ska du inte använda null för att representera ett objekt som inte innehåller några data. Kontrollen LinqDataSource tolkas som att null egenskapen inte har angettsResult, och den skapar och frågar objektet i TableName egenskapen. Om du vill representera ett objekt som inte innehåller data anger du Result egenskapen till ett objekt eller IList ett IList<T> objekt som inte innehåller några element.

Händelserna ContextCreating, ContextCreatedoch ContextDisposing utlöses inte när du programmatiskt anger Result egenskapen till ett objekt och när två ytterligare villkor gäller. Villkoren är att antingen de ursprungliga värdena inte behöver lagras i visningstillstånd, eller så implementerar Result objektet i ITable egenskapen gränssnittet.

Gäller för

Se även