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 异常。

适用于