QueryStringParameter QueryStringParameter QueryStringParameter QueryStringParameter Class

Definizione

Esegue il binding del valore di un campo della stringa di query di una richiesta HTTP a un oggetto Parameter.Binds the value of an HTTP request query-string field to a parameter object.

public ref class QueryStringParameter : System::Web::UI::WebControls::Parameter
public class QueryStringParameter : System.Web.UI.WebControls.Parameter
type QueryStringParameter = class
    inherit Parameter
Public Class QueryStringParameter
Inherits Parameter
Ereditarietà
QueryStringParameterQueryStringParameterQueryStringParameterQueryStringParameter

Esempi

Nell'esempio seguente viene illustrato come creare un QueryStringParameter oggetto da utilizzare come filtro quando si visualizzano i dati in GridView un controllo.The following example shows how to create a QueryStringParameter object to use as a filter when you display data in a GridView control. L' QueryStringParameter oggetto viene aggiunto AccessDataSource all' FilterParameters insieme del controllo.You add the QueryStringParameter object to the AccessDataSource control's FilterParameters collection. L'oggetto Parameter associa il valore del campo della stringa di query denominato country alla relativa FilterExpression stringa.The parameter object binds the value of the query-string field named country to its FilterExpression string. Poiché non DefaultValue viene specificata alcuna proprietà per il parametro, se non viene country passato alcun campo denominato con la stringa di AccessDataSource query, il NullReferenceException controllo genera un'eccezione.Because no DefaultValue property is specified for the parameter, if no field named country is passed with the query string, the AccessDataSource control throws a NullReferenceException exception. Se un campo denominato country viene passato ma non ha alcun valore, GridView il controllo non visualizza alcun dato.If a field named country is passed but has no value, the GridView control displays no data.

<%@ Page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>
    </form>
  </body>
</html>
<%@ Page language="VB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>

    </form>
  </body>
</html>

Nell'esempio seguente viene illustrato come creare un QueryStringParameter oggetto per visualizzare i dati da un database di Access utilizzando una query SQL con parametri.The following example shows how to create a QueryStringParameter object to display data from an Access database by using a parameterized SQL query. L' AccessDataSource oggetto recupera i record che vengono quindi visualizzati in GridView un controllo.The AccessDataSource object retrieves records that are then displayed in a GridView control. Anche GridView il controllo è modificabile e consente agli utenti di aggiornare lo stato degli ordini nella tabella Northwind Traders Orders.The GridView control is also editable, and lets users update the status of orders in the Northwind Traders Orders table.

<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
private void UpdateRecords(Object source, EventArgs e)
{
  // This method is an example of batch updating using a
  // data source control. The method iterates through the rows
  // of the GridView, extracts each CheckBox from the row and, if
  // the CheckBox is checked, updates data by calling the Update
  // method of the data source control, adding required parameters
  // to the UpdateParameters collection.
  CheckBox cb;
  foreach(GridViewRow row in this.GridView1.Rows) {
    cb = (CheckBox) row.Cells[0].Controls[1];
    if(cb.Checked) {
      string oid = (string) row.Cells[1].Text;
      MyAccessDataSource.UpdateParameters.Add(new Parameter("date",TypeCode.DateTime,DateTime.Now.ToString()));
      MyAccessDataSource.UpdateParameters.Add(new Parameter("orderid",TypeCode.String,oid));
      MyAccessDataSource.Update();
      MyAccessDataSource.UpdateParameters.Clear();
    }
  }
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

      <asp:SqlDataSource
        id="MyAccessDataSource"
        runat="server"
        ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
        ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
        SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
        UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
        <SelectParameters>
          <asp:QueryStringParameter Name="empId" QueryStringField="empId" />
        </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
        id ="GridView1"
        runat="server"
        DataSourceID="MyAccessDataSource"
        AllowPaging="True"
        PageSize="10"
        AutoGenerateColumns="False">
          <columns>
            <asp:TemplateField HeaderText="">
              <ItemTemplate>
                <asp:CheckBox runat="server" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="Order" DataField="OrderID" />
            <asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
            <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
            <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
          </columns>
      </asp:GridView>

      <asp:Button
        id="Button1"
        runat="server"
        Text="Update the Selected Records As Shipped"
        OnClick="UpdateRecords" />

      <asp:Label id="Label1" runat="server" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub UpdateRecords(source As Object, e As EventArgs)

  ' This method is an example of batch updating using a
  ' data source control. The method iterates through the rows
  ' of the GridView, extracts each CheckBox from the row and, if
  ' the CheckBox is checked, updates data by calling the Update
  ' method of the data source control, adding required parameters
  ' to the UpdateParameters collection.

  Dim cb As CheckBox
  Dim row As GridViewRow

  For Each row In GridView1.Rows

    cb = CType(row.Cells(0).Controls(1), CheckBox)
    If cb.Checked Then

      Dim oid As String
      oid = CType(row.Cells(1).Text, String)

      Dim param1 As New Parameter("date", TypeCode.DateTime, DateTime.Now.ToString())
      MyAccessDataSource.UpdateParameters.Add(param1)

      Dim param2 As New Parameter("orderid", TypeCode.String, oid)
      MyAccessDataSource.UpdateParameters.Add(param2)

      MyAccessDataSource.Update()
      MyAccessDataSource.UpdateParameters.Clear()
    End If
  Next
End Sub ' UpdateRecords
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

      <asp:SqlDataSource
        id="MyAccessDataSource"
        runat="server"
        ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
        ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
        SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
        UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
        <SelectParameters>
          <asp:QueryStringParameter Name="empId" QueryStringField="empId" />
        </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
        id ="GridView1"
        runat="server"
        DataSourceID="MyAccessDataSource"
        AllowPaging="True"
        PageSize="10"
        AutoGenerateColumns="False">
          <columns>
            <asp:TemplateField HeaderText="">
              <ItemTemplate>
                <asp:CheckBox runat="server" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="Order" DataField="OrderID" />
            <asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
            <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
            <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
          </columns>
      </asp:GridView>

      <asp:Button
        id="Button1"
        runat="server"
        Text="Update the Selected Records As Shipped"
        OnClick="UpdateRecords" />

      <asp:Label id="Label1" runat="server" />

    </form>
  </body>
</html>

Commenti

È possibile usare la QueryStringParameter classe per associare il valore di un campo passato come parte di una stringa di query di richiesta HTTP a un parametro usato in un comando o una query con parametri.You can use the QueryStringParameter class to bind the value of a field that is passed as part of an HTTP request query string to a parameter that is used in a parameterized query or command. Il campo viene recuperato dalla QueryString raccolta.The field is retrieved from the QueryString collection.

I controlli che associano dati al parametro possono generare un'eccezione QueryStringParameter se viene fatto riferimento a un oggetto, ma non viene passata alcuna coppia nome/valore della stringa di query corrispondente.Controls that bind data to the parameter might throw an exception if a QueryStringParameter object is referenced, but no corresponding query-string name/value pair is passed. Analogamente, potrebbero non visualizzare dati se il nome del campo della stringa di query viene passato senza un valore corrispondente.Similarly, they might display no data if the query-string field name is passed without a corresponding value. Per evitare queste situazioni, impostare la DefaultValue proprietà quando appropriato.To avoid these situations, set the DefaultValue property where appropriate.

La QueryStringParameter classe fornisce la QueryStringField proprietà, che identifica il nome del valore della stringa di query a cui eseguire l'associazione.The QueryStringParameter class provides the QueryStringField property, which identifies the name of the query string value to bind to. Fornisce inoltre le proprietà ereditate dalla Parameter classe.It also provides the properties that are inherited from the Parameter class.

Importante

La QueryStringParameter classe non convalida il valore passato, ma fornisce il valore non elaborato.The QueryStringParameter class does not validate the value that is passed; it provides the raw value. Tuttavia, è possibile convalidare il valore QueryStringParameter di un oggetto in un controllo origine dati.However, you can validate the value of a QueryStringParameter object in a data source control. A tale scopo, gestire l' Selectingevento Updating, Inserting, o Deleting del controllo origine dati e controllare il valore del parametro nel gestore eventi.To do so, handle the Selecting, Updating, Inserting, or Deleting event of the data source control and check the parameter value in the event handler. Se il valore del parametro non supera i test di convalida, è possibile annullare l'operazione sui dati impostando la Cancel proprietà della classe associata CancelEventArgs su true.If the value of the parameter does not pass the validation tests, you can cancel the data operation by setting the Cancel property of the associated CancelEventArgs class to true.

Costruttori

QueryStringParameter() QueryStringParameter() QueryStringParameter() QueryStringParameter()

Inizializza una nuova istanza senza nome della classe QueryStringParameter.Initializes a new unnamed instance of the QueryStringParameter class.

QueryStringParameter(QueryStringParameter) QueryStringParameter(QueryStringParameter) QueryStringParameter(QueryStringParameter) QueryStringParameter(QueryStringParameter)

Inizializza una nuova istanza della classe QueryStringParameter utilizzando i valori dell'istanza specificata dal parametro original.Initializes a new instance of the QueryStringParameter class, using the values of the instance that is specified by the original parameter.

QueryStringParameter(String, DbType, String) QueryStringParameter(String, DbType, String) QueryStringParameter(String, DbType, String) QueryStringParameter(String, DbType, String)

Inizializza una nuova istanza denominata della classe QueryStringParameter, utilizzando il campo della stringa di query specificata e il tipo di dati del parametro.Initializes a new named instance of the QueryStringParameter class, using the specified query-string field and the data type of the parameter.

QueryStringParameter(String, String) QueryStringParameter(String, String) QueryStringParameter(String, String) QueryStringParameter(String, String)

Inizializza una nuova istanza denominata della classe QueryStringParameter, utilizzando la stringa specificata per identificare il campo della stringa di query per l'associazione.Initializes a new named instance of the QueryStringParameter class, using the specified string to identify which query-string field to bind to.

QueryStringParameter(String, TypeCode, String) QueryStringParameter(String, TypeCode, String) QueryStringParameter(String, TypeCode, String) QueryStringParameter(String, TypeCode, String)

Inizializza una nuova istanza denominata e fortemente tipizzata della classe QueryStringParameter, utilizzando la stringa specificata per identificare il campo della stringa di query per l'associazione.Initializes a new named and strongly typed instance of the QueryStringParameter class, using the specified string to identify which query-string field to bind to.

Proprietà

ConvertEmptyStringToNull ConvertEmptyStringToNull ConvertEmptyStringToNull ConvertEmptyStringToNull

Ottiene o imposta un valore indicante se il valore a cui è associato l'oggetto Parameter deve essere convertito in null se è Empty.Gets or sets a value indicating whether the value that the Parameter object is bound to should be converted to null if it is Empty.

(Inherited from Parameter)
DbType DbType DbType DbType

Ottiene o imposta il tipo di database del parametro.Gets or sets the database type of the parameter.

(Inherited from Parameter)
DefaultValue DefaultValue DefaultValue DefaultValue

Specifica un valore predefinito per il parametro, se il valore associato al parametro non deve essere inizializzato quando viene chiamato il metodo Evaluate(HttpContext, Control).Specifies a default value for the parameter, should the value that the parameter is bound to be uninitialized when the Evaluate(HttpContext, Control) method is called.

(Inherited from Parameter)
Direction Direction Direction Direction

Indica se l'oggetto Parameter viene utilizzato per associare un valore a un controllo oppure il controllo può essere utilizzato per la modifica del valore.Indicates whether the Parameter object is used to bind a value to a control, or the control can be used to change the value.

(Inherited from Parameter)
IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto Parameter sta salvando le modifiche apportate al relativo stato di visualizzazione.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Inherited from Parameter)
IsTrackingViewState IsTrackingViewState IsTrackingViewState IsTrackingViewState

Ottiene un valore che indica se l'oggetto Parameter sta salvando le modifiche apportate al relativo stato di visualizzazione.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Inherited from Parameter)
Name Name Name Name

Ottiene o imposta il nome del parametro.Gets or sets the name of the parameter.

(Inherited from Parameter)
QueryStringField QueryStringField QueryStringField QueryStringField

Ottiene o imposta il nome del campo della stringa di query a cui è associato il parametro.Gets or sets the name of the query-string field that the parameter binds to.

Size Size Size Size

Ottiene o imposta le dimensioni del parametro.Gets or sets the size of the parameter.

(Inherited from Parameter)
Type Type Type Type

Ottiene o imposta il tipo di parametro.Gets or sets the type of the parameter.

(Inherited from Parameter)
ValidateInput ValidateInput ValidateInput ValidateInput

Ottiene o imposta se il valore del parametro della stringa di query viene convalidato o meno.Gets or sets whether the value of the query string parameter is being validated or not.

ViewState ViewState ViewState ViewState

Ottiene un dizionario di informazioni sullo stato che consente di salvare e ripristinare lo stato di visualizzazione di un oggetto Parameter tra più richieste per la stessa pagina.Gets a dictionary of state information that allows you to save and restore the view state of a Parameter object across multiple requests for the same page.

(Inherited from Parameter)

Metodi

Clone() Clone() Clone() Clone()

Restituisce un duplicato dell'istanza QueryStringParameter corrente.Returns a duplicate of the current QueryStringParameter instance.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Evaluate(HttpContext, Control) Evaluate(HttpContext, Control) Evaluate(HttpContext, Control) Evaluate(HttpContext, Control)

Viene aggiornato e restituisce il valore dell'oggetto QueryStringParameter.Updates and returns the value of the QueryStringParameter object.

GetDatabaseType() GetDatabaseType() GetDatabaseType() GetDatabaseType()

Ottiene il valore DbType che è equivalente al tipo CLR dell'istanza corrente di Parameter.Gets the DbType value that is equivalent to the CLR type of the current Parameter instance.

(Inherited from Parameter)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
LoadViewState(Object) LoadViewState(Object) LoadViewState(Object) LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato della visualizzazione origine dati.Restores the data source view's previously saved view state.

(Inherited from Parameter)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
OnParameterChanged() OnParameterChanged() OnParameterChanged() OnParameterChanged()

Chiame il metodo OnParametersChanged(EventArgs) dell'insieme ParameterCollection che contiene l'oggetto Parameter.Calls the OnParametersChanged(EventArgs) method of the ParameterCollection collection that contains the Parameter object.

(Inherited from Parameter)
SaveViewState() SaveViewState() SaveViewState() SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione dell'oggetto Parameter dal momento in cui è stato eseguito il postback della pagina al server.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Inherited from Parameter)
SetDirty() SetDirty() SetDirty() SetDirty()

Contrassegna l'oggetto Parameter in modo che il relativo stato venga registrato in stato di visualizzazione.Marks the Parameter object so its state will be recorded in view state.

(Inherited from Parameter)
ToString() ToString() ToString() ToString()

Converte il valore dell'istanza corrente nell'equivalente rappresentazione di stringa.Converts the value of this instance to its equivalent string representation.

(Inherited from Parameter)
TrackViewState() TrackViewState() TrackViewState() TrackViewState()

Mediante questo metodo l'oggetto Parameter tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che vengono memorizzate nell'oggetto ViewState del controllo e mantenute nelle richieste della stessa pagina.Causes the Parameter object to track changes to its view state so they can be stored in the control's ViewState object and persisted across requests for the same page.

(Inherited from Parameter)

Implementazioni dell'interfaccia esplicita

ICloneable.Clone() ICloneable.Clone() ICloneable.Clone() ICloneable.Clone()

Restituisce un duplicato dell'istanza Parameter corrente.Returns a duplicate of the current Parameter instance.

(Inherited from Parameter)
IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato della visualizzazione origine dati.Restores the data source view's previously saved view state.

(Inherited from Parameter)
IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione dell'oggetto Parameter dal momento in cui è stato eseguito il postback della pagina al server.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Inherited from Parameter)
IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Mediante questo metodo l'oggetto Parameter tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che vengono memorizzate nell'oggetto ViewState del controllo e mantenute nelle richieste della stessa pagina.Causes the Parameter object to track changes to its view state so they can be stored in the control's ViewState object and persisted across requests for the same page.

(Inherited from Parameter)

Si applica a

Vedi anche