Condividi tramite


LinqDataSource.Selecting Evento

Definizione

Si verifica prima di un'operazione di recupero dati.

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 evento

Esempio

Nell'esempio seguente viene illustrato un gestore eventi per l'evento Selecting . Il gestore crea una query che recupera i valori da una matrice di valori stringa nella pagina 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

Nell'esempio seguente viene illustrato come assegnare la Result proprietà all'oggetto restituito da un metodo che rappresenta una stored procedure.

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

Commenti

Gestire l'evento Selecting per eseguire le attività seguenti:

  • Modificare i parametri per il recupero dei dati.

  • Generare la query a livello di codice.

  • Modificare i valori per l'ordinamento o il paging.

  • Eseguire l'ordinamento o il paging personalizzati.

  • Annullare l'operazione di recupero dati.

L'oggetto LinqDataSourceSelectEventArgs passato ai gestori eventi per questo evento contiene i parametri per l'operazione di recupero dati. È possibile modificare i parametri nel gestore eventi prima dell'esecuzione Selecting della query oppure creare un nuovo set di risultati e assegnarlo alla Result proprietà .

La possibilità di implementare l'ordinamento personalizzato o il paging nei gestori per questo evento potrebbe essere limitato dal controllo associato a LinqDataSource. Ad esempio, quando si fa clic sull'intestazione di colonna di un GridView controllo, il controllo esegue l'ordinamento automatico che potrebbe eseguire l'override di qualsiasi ordine stabilito nel gestore eventi.

Se viene generata un'eccezione in un gestore eventi per l'evento Selecting , è necessario gestire l'eccezione nel gestore eventi. L'eccezione non verrà passata a un gestore eventi per l'evento Selected (tramite la Exception proprietà dell'oggetto LinqDataSourceStatusEventArgs ). La Exception proprietà contiene solo le eccezioni generate dopo l'evento Selecting .

Si applica a