LinqDataSourceSelectEventArgs.Result Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví datový objekt, který se používá v datovém dotazu.
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
Hodnota vlastnosti
Objekt, který představuje data pro dotaz.
Příklady
Následující příklad ukazuje, jak nastavit Result vlastnost na výsledek dotazu 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
Následující příklad ukazuje, jak nastavit Result vlastnost na pole řetězcových hodnot je definována na webové stránce.
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
Poznámky
Ve výchozím nastavení LinqDataSource ovládací prvek použije výrazy dotazu na objekt definovaný ve TableName vlastnosti . V obslužné rutině Selecting události můžete ručně změnit objekt, který se dotazuje, nastavením Result vlastnosti na objekt. Vlastnost můžete například použít Result k dotazování kolekce v paměti na webové stránce nebo k získání výsledků z výrazu dotazu LINQ. Vlastnost můžete nastavit Result na libovolný objekt. Pokud objekt neimplementuje IEnumerable<T> rozhraní, LinqDataSource ovládací prvek zabalí objekt do objektu, který implementuje IEnumerable<T> rozhraní.
Result Pokud je vlastnost nastavena na jinou hodnotu než null
, LinqDataSource ovládací prvek se nebude dotazovat na objekt definovaný ve TableName vlastnosti . Místo toho dotazuje objekt ve Result vlastnosti .
Poznámka
Když nastavíte Result vlastnost na objekt, nepoužívejte null
k reprezentaci objektu, který neobsahuje žádná data. Ovládací LinqDataSource prvek interpretuje null
, že Result vlastnost není nastavena a vytvoří objekt ve vlastnosti a dotazuje ho TableName . Chcete-li reprezentovat objekt, který neobsahuje data, nastavte Result vlastnost na IList objekt nebo IList<T> , který neobsahuje žádné prvky.
Události ContextCreating, ContextCreateda ContextDisposing se nevyvolají, když programově nastavíte Result vlastnost objektu a platí dvě další podmínky. Podmínkou je, že buď původní hodnoty nemusí být uloženy ve stavu zobrazení, nebo objekt ve Result vlastnosti implementuje ITable rozhraní.