QueryStringParameter Classe

Définition

Lie la valeur d’un champ de chaîne de requête HTTP à un objet de paramètre.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
Héritage
QueryStringParameter

Exemples

L’exemple suivant montre comment créer un QueryStringParameter objet à utiliser comme filtre lorsque vous affichez des données dans un GridView contrôle.The following example shows how to create a QueryStringParameter object to use as a filter when you display data in a GridView control. Vous ajoutez l' QueryStringParameter objet à la AccessDataSource collection du FilterParameters contrôle.You add the QueryStringParameter object to the AccessDataSource control's FilterParameters collection. L’objet de paramètre lie la valeur du champ de chaîne de requête nommé country à sa FilterExpression chaîne.The parameter object binds the value of the query-string field named country to its FilterExpression string. Comme aucune DefaultValue propriété n’est spécifiée pour le paramètre, si aucun champ country nommé n’est passé avec la chaîne de AccessDataSource requête, le contrôle NullReferenceException lève une exception.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. Si un champ nommé country est passé mais n’a pas de valeur GridView , le contrôle n’affiche aucune donnée.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>

L’exemple suivant montre comment créer un QueryStringParameter objet pour afficher des données à partir d’une base de données Access à l’aide d’une requête SQL paramétrable.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 objet récupère les enregistrements qui sont ensuite affichés dans un GridView contrôle.The AccessDataSource object retrieves records that are then displayed in a GridView control. Le GridView contrôle est également modifiable et permet aux utilisateurs de mettre à jour l’état des commandes dans la table 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>

Remarques

Vous pouvez utiliser la QueryStringParameter classe pour lier la valeur d’un champ passé dans le cadre d’une chaîne de requête de requête HTTP à un paramètre utilisé dans une requête ou une commande paramétrable.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. Le champ est récupéré à partir QueryString de la collection.The field is retrieved from the QueryString collection.

Les contrôles qui lient des données au paramètre peuvent lever une exception si QueryStringParameter un objet est référencé, mais qu’aucune paire nom/valeur de chaîne de requête correspondante n’est passée.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. De même, ils peuvent ne pas afficher de données si le nom du champ de chaîne de requête est passé sans valeur correspondante.Similarly, they might display no data if the query-string field name is passed without a corresponding value. Pour éviter ces situations, définissez la DefaultValue propriété si nécessaire.To avoid these situations, set the DefaultValue property where appropriate.

La QueryStringParameter classe fournit la QueryStringField propriété, qui identifie le nom de la valeur de chaîne de requête à lier.The QueryStringParameter class provides the QueryStringField property, which identifies the name of the query string value to bind to. Il fournit également les propriétés qui sont héritées de Parameter la classe.It also provides the properties that are inherited from the Parameter class.

Important

La QueryStringParameter classe ne valide pas la valeur passée ; elle fournit la valeur brute.The QueryStringParameter class does not validate the value that is passed; it provides the raw value. Toutefois, vous pouvez valider la valeur d’un QueryStringParameter objet dans un contrôle de source de données.However, you can validate the value of a QueryStringParameter object in a data source control. Pour ce faire, gérez l' Selectingévénement Updating Inserting,, ou Deleting du contrôle de source de données, puis vérifiez la valeur du paramètre dans le gestionnaire d’événements.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. Si la valeur du paramètre ne réussit pas les tests de validation, vous pouvez annuler l’opération de données en Cancel affectant à truela CancelEventArgs propriété de la classe associée la valeur.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.

Constructeurs

QueryStringParameter()

Initialise une nouvelle instance sans nom de la classe QueryStringParameter.Initializes a new unnamed instance of the QueryStringParameter class.

QueryStringParameter(QueryStringParameter)

Initialise une nouvelle instance de la classe QueryStringParameter en utilisant les valeurs de l'instance spécifiée par le paramètre 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)

Initialise une nouvelle instance nommée de la classe QueryStringParameter, à l'aide du champ de chaîne de requête spécifié et du type de données du paramètre.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)

Initialise une nouvelle instance nommée de la classe QueryStringParameter, à l'aide de la chaîne spécifiée pour identifier le champ de chaîne de requête à lier.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)

Initialise une nouvelle instance nommée et fortement typée de la classe QueryStringParameter, à l'aide de la chaîne spécifiée pour identifier le champ de chaîne de requête à lier.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.

Propriétés

ConvertEmptyStringToNull

Obtient ou définit une valeur indiquant si la valeur à laquelle l'objet Parameter est lié doit être convertie en null si elle est 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.

(Hérité de Parameter)
DbType

Obtient ou définit le type de base de données du paramètre.Gets or sets the database type of the parameter.

(Hérité de Parameter)
DefaultValue

Spécifie une valeur par défaut pour le paramètre, à condition que la valeur à laquelle le paramètre est lié à ne soit pas initialisée lorsque la méthode Evaluate(HttpContext, Control) est appelée.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.

(Hérité de Parameter)
Direction

Indique si l'objet Parameter est utilisé pour lier une valeur à un contrôle ou si le contrôle peut être utilisé pour modifier la valeur.Indicates whether the Parameter object is used to bind a value to a control, or the control can be used to change the value.

(Hérité de Parameter)
IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Hérité de Parameter)
Name

Obtient ou définit le nom du paramètre.Gets or sets the name of the parameter.

(Hérité de Parameter)
QueryStringField

Obtient ou définit le nom du champ de chaîne de requête auquel le paramètre est lié.Gets or sets the name of the query-string field that the parameter binds to.

Size

Obtient ou définit la taille du paramètre.Gets or sets the size of the parameter.

(Hérité de Parameter)
Type

Obtient ou définit le type du paramètre.Gets or sets the type of the parameter.

(Hérité de Parameter)
ValidateInput

Obtient ou définit une valeur indiquant si la valeur du paramètre de chaîne de requête a été validée ou pas.Gets or sets whether the value of the query string parameter is being validated or not.

ViewState

Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un objet Parameter entre plusieurs demandes de la même page.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.

(Hérité de Parameter)

Méthodes

Clone()

Retourne un doublon de l'instance de QueryStringParameter actuelle.Returns a duplicate of the current QueryStringParameter instance.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
Evaluate(HttpContext, Control)

Met à jour et retourne la valeur de l'objet QueryStringParameter.Updates and returns the value of the QueryStringParameter object.

GetDatabaseType()

Obtient la valeur DbType qui est équivalente au type CLR de l'instance Parameter actuelle.Gets the DbType value that is equivalent to the CLR type of the current Parameter instance.

(Hérité de Parameter)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.Restores the data source view's previously saved view state.

(Hérité de Parameter)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
OnParameterChanged()

Appelle la méthode OnParametersChanged(EventArgs) de la collection ParameterCollection qui contient l'objet Parameter.Calls the OnParametersChanged(EventArgs) method of the ParameterCollection collection that contains the Parameter object.

(Hérité de Parameter)
SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Hérité de Parameter)
SetDirty()

Marque l'objet Parameter afin que son état soit enregistré dans l'état d'affichage.Marks the Parameter object so its state will be recorded in view state.

(Hérité de Parameter)
ToString()

Convertit la valeur de cette instance en sa représentation sous forme de chaîne équivalente.Converts the value of this instance to its equivalent string representation.

(Hérité de Parameter)
TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.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.

(Hérité de Parameter)

Implémentations d’interfaces explicites

ICloneable.Clone()

Retourne un doublon de l'instance de Parameter actuelle.Returns a duplicate of the current Parameter instance.

(Hérité de Parameter)
IStateManager.IsTrackingViewState

Obtient une valeur indiquant si l'objet Parameter enregistre les modifications apportées à son état d'affichage.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Hérité de Parameter)
IStateManager.LoadViewState(Object)

Restaure l'état d'affichage enregistré précédemment pour la vue de source de données.Restores the data source view's previously saved view state.

(Hérité de Parameter)
IStateManager.SaveViewState()

Enregistre les modifications apportées à l'état d'affichage de l'objet Parameter depuis la publication de la page sur le serveur.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Hérité de Parameter)
IStateManager.TrackViewState()

Ainsi, l'objet Parameter effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans l'objet ViewState du contrôle et être persistantes entre les demandes de la même page.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.

(Hérité de Parameter)

S’applique à

Voir aussi