LinqDataSource.Selecting 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
执行数据检索操作前发生。
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 异常。