LinqDataSource.Selecting Evento

Definición

Tiene lugar antes de una operación de recuperación de datos.

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) 

Tipo de evento

Ejemplos

En el ejemplo siguiente se muestra un controlador de eventos para el Selecting evento. El controlador crea una consulta que recupera valores de una matriz de valores de cadena en la página web.

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

En el ejemplo siguiente se muestra cómo asignar la Result propiedad al objeto que se devuelve de un método que representa un procedimiento almacenado.

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();  
}  

Comentarios

Controle el Selecting evento para realizar las siguientes tareas:

  • Modifique los parámetros para la recuperación de datos.

  • Genere la consulta mediante programación.

  • Modifique los valores para ordenar o paginar.

  • Realizar una ordenación o paginación personalizadas.

  • Cancele la operación de recuperación de datos.

El LinqDataSourceSelectEventArgs objeto que se pasa a los controladores de eventos para este evento contiene los parámetros de la operación de recuperación de datos. Puede modificar los parámetros en el Selecting controlador de eventos antes de que se ejecute la consulta, o puede crear un nuevo conjunto de resultados y asignarlo a la Result propiedad .

La capacidad de implementar la ordenación personalizada o la paginación en controladores para este evento podría estar limitada por el control enlazado a LinqDataSource. Por ejemplo, cuando se hace clic en el encabezado de columna de un GridView control, el control realiza la ordenación automática que podría invalidar el orden establecido en el controlador de eventos.

Si se produce una excepción en un controlador de eventos para el Selecting evento, debe controlar la excepción en ese controlador de eventos. La excepción no se pasará a un controlador de eventos para el Selected evento (a través de la Exception propiedad del LinqDataSourceStatusEventArgs objeto ). La Exception propiedad contiene solo las excepciones que se producen después del Selecting evento .

Se aplica a