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 необходимо обработать исключение в этом обработчике событий. Исключение не будет передано обработчику событий для Selected события (через Exception свойство LinqDataSourceStatusEventArgs объекта ). Свойство Exception содержит только исключения, которые возникают после Selecting события .