LinqDataSourceSelectEventArgs.Result プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ クエリで使用されるデータ オブジェクトを取得または設定します。
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
プロパティ値
クエリのデータを表すオブジェクト。
例
次の例は、 プロパティを Result 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
次の例は、 プロパティを Result Web ページで定義されている文字列値の配列に設定する方法を示しています。
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
注釈
既定では、 コントロールは LinqDataSource 、 プロパティで定義されているオブジェクトにクエリ式を TableName 適用します。 イベントのハンドラーでは、 プロパティを Selecting オブジェクトに設定することで、クエリ対象のオブジェクトを Result 手動で変更できます。 たとえば、 プロパティを Result 使用して Web ページ内のメモリ内コレクションに対してクエリを実行したり、LINQ クエリ式から結果を取得したりできます。 プロパティは任意の Result オブジェクトに設定できます。 オブジェクトが インターフェイスを IEnumerable<T> 実装していない場合、コントロールは LinqDataSource インターフェイスを実装する オブジェクトで オブジェクトを IEnumerable<T> ラップします。
プロパティが 以外null
のResult値に設定されている場合、LinqDataSourceコントロールは プロパティで定義されているオブジェクトに対してクエリをTableName実行しません。 代わりに、 プロパティの オブジェクトに対してクエリを Result 実行します。
Note
プロパティを Result オブジェクトに設定するときは、 を使用 null
して、データを含まないオブジェクトを表さないでください。 コントロールnull
はLinqDataSource、 プロパティが設定されていないことをResult意味し、 プロパティ内の オブジェクトを作成してクエリをTableName実行します。 データを含まないオブジェクトを表すには、 プロパティを Result 要素を IList 含まない または IList<T> オブジェクトに設定します。
ContextCreated、、および ContextDisposing イベントはContextCreating、プログラムによって プロパティを Result オブジェクトに設定するとき、および 2 つの追加条件が適用される場合には発生しません。 条件は、元の値をビューステートに格納する必要がないか、 プロパティの Result オブジェクトが インターフェイスを ITable 実装することです。
適用対象
こちらもご覧ください
.NET