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í ovládací LinqDataSource prvek použije výrazy dotazu na objekt definovaný ve TableName vlastnosti. V obslužné rutině události Selecting můžete ručně změnit objekt dotazovaný nastavením Result vlastnosti na objekt. Pomocí vlastnosti můžete Result například dotazovat kolekci v paměti na webové stránce nebo získat výsledky 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 libovolnou jinou hodnotu než null, LinqDataSource ovládací prvek dotazuje objekt definovaný ve TableName vlastnosti. Místo toho dotazuje objekt ve Result vlastnosti.
Poznámka:
Pokud 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ří a dotazuje objekt ve TableName vlastnosti. Chcete-li reprezentovat objekt, který neobsahuje data, nastavte Result vlastnost na IList objekt, IList<T> který neobsahuje žádné prvky.
Objekt ContextCreating, ContextCreateda ContextDisposing události nejsou vyvolány při programovém nastavení Result vlastnosti na objekt a kdy se použijí dvě další podmínky. Podmínky jsou, že buď původní hodnoty nemusí být uloženy ve stavu zobrazení, nebo objekt ve Result vlastnosti implementuje ITable rozhraní.