LinqDataSource.Selecting 事件

定義

在資料擷取作業之前發生。

public:
 event EventHandler<System::Web::UI::WebControls::LinqDataSourceSelectEventArgs ^> ^ Selecting;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceSelectEventArgs> Selecting;
member this.Selecting : EventHandler<System.Web.UI.WebControls.LinqDataSourceSelectEventArgs> 
Public Custom Event Selecting As EventHandler(Of LinqDataSourceSelectEventArgs) 

事件類型

範例

下列範例顯示 事件的事件處理常式 Selecting 。 處理常式會建立查詢,從網頁中的字串值陣列擷取值。

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

下列範例示範如何將 屬性指派 Result 給從表示預存程式的方法傳回的物件。

Protected Sub LinqDataSource_Selecting(ByVal sender As Object, _  
        ByVal e As LinqDataSourceSelectEventArgs)  
    Dim exampleContext As ExampleDataContext = New ExampleDataContext()  
    e.Result = exampleContext.GetRegisteredCustomers()  
End Sub  
protected void LinqDataSource_Selecting(object sender,   
        LinqDataSourceSelectEventArgs e)  
{  
    ExampleDataContext exampleContext = new ExampleDataContext();  
    e.Result = exampleContext.GetRegisteredCustomers();  
}  

備註

Selecting處理 事件,以執行下列工作:

  • 修改資料擷取的參數。

  • 以程式設計方式產生查詢。

  • 修改排序或分頁的值。

  • 執行自訂排序或分頁。

  • 取消資料擷取作業。

LinqDataSourceSelectEventArgs傳遞給這個事件的事件處理常式的物件包含資料擷取作業的參數。 您可以在查詢執行之前修改事件處理常式中的 Selecting 參數,也可以建立新的結果集,並將該參數指派給 Result 屬性。

您可以在此事件的處理常式中實作自訂排序或分頁的能力,可能會受限於系結至 的 LinqDataSource 控制項。 例如,按一下控制項的資料 GridView 行標頭時,控制項會執行自動排序,以覆寫您在事件處理常式中建立的任何順序。

如果在事件的事件處理常式 Selecting 中擲回例外狀況,您必須處理該事件處理常式中的例外狀況。 例外狀況不會透過物件) ExceptionLinqDataSourceStatusEventArgs 屬性,傳遞至事件的事件處理常式 Selected (。 屬性 Exception 只包含事件之後擲回的 Selecting 例外狀況。

適用於