LinqDataSource.Selecting 事件

定義

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

C#
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceSelectEventArgs> Selecting;

事件類型

範例

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

C#
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.
    }
}

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

C#
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 例外狀況。

適用於

產品 版本
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1