LinqDataSource.Selecting Evento

Definizione

Si verifica prima di un'operazione di recupero dati.Occurs before a data-retrieval operation.

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) 

Esempio

Nell'esempio seguente viene illustrato un gestore eventi per l'evento Selecting.The following example shows an event handler for the Selecting event. Il gestore crea una query che recupera i valori da una matrice di valori stringa nella pagina Web.The handler creates a query that retrieves values from an array of string values in the Web page.

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 proprietà Result all'oggetto restituito da un metodo che rappresenta una stored procedure.The following example shows how to assign the Result property to the object that is returned from a method that represents a 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 il Selecting evento per eseguire le attività seguenti:Handle the Selecting event in order to perform the following tasks:

  • Modificare i parametri per il recupero dei dati.Modify parameters for data retrieval.

  • Generare la query a livello di codice.Generate the query programmatically.

  • Modificare i valori per l'ordinamento o il paging.Modify the values for sorting or paging.

  • Esegue l'ordinamento o il paging personalizzato.Perform custom sorting or paging.

  • Annullare l'operazione di recupero dei dati.Cancel the data-retrieval operation.

L'oggetto LinqDataSourceSelectEventArgs passato ai gestori eventi per questo evento contiene i parametri per l'operazione di recupero dei dati.The LinqDataSourceSelectEventArgs object that is passed to event handlers for this event contains the parameters for the data-retrieval operation. È possibile modificare i parametri nel gestore eventi Selecting prima che la query venga eseguita oppure è possibile creare un nuovo set di risultati e assegnarlo alla proprietà Result.You can modify the parameters in the Selecting event handler before the query executes, or you can create a new result set and assign that to the Result property.

La possibilità di implementare l'ordinamento o il paging personalizzato nei gestori per questo evento potrebbe essere limitata dal controllo associato al LinqDataSource.Your ability to implement custom sorting or paging in handlers for this event might be limited by the control that is bound to the LinqDataSource. Ad esempio, quando si fa clic sull'intestazione di colonna di un controllo GridView, il controllo esegue l'ordinamento automatico che potrebbe sostituire qualsiasi ordine stabilito nel gestore eventi.For example, when the column header of a GridView control is clicked, the control performs automatic sorting which might override whatever order you establish in the event handler.

Se un'eccezione viene generata in un gestore eventi per l'evento Selecting, è necessario gestire l'eccezione nel gestore eventi.If an exception is thrown in an event handler for the Selecting event, you must handle the exception in that event handler. L'eccezione non verrà passata a un gestore eventi per l'evento Selected (tramite la proprietà Exception dell'oggetto LinqDataSourceStatusEventArgs).The exception will not be passed to an event handler for the Selected event (through the Exception property of the LinqDataSourceStatusEventArgs object). La proprietà Exception contiene solo le eccezioni generate dopo l'evento Selecting.The Exception property contains only the exceptions that are thrown after the Selecting event.

Si applica a