Поделиться через


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 события .

Применяется к