QueryStringParameter Klasa

Definicja

Wiąże wartość pola ciągu zapytania żądania HTTP z obiektem 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
Dziedziczenie
QueryStringParameter

Przykłady

Poniższy przykład pokazuje, jak utworzyć QueryStringParameter obiekt, który ma być używany jako filtr podczas wyświetlania danych w GridView kontrolce.The following example shows how to create a QueryStringParameter object to use as a filter when you display data in a GridView control. Obiekt należy dodać QueryStringParameter do AccessDataSource kolekcji kontrolki FilterParameters .You add the QueryStringParameter object to the AccessDataSource control's FilterParameters collection. Obiekt Parameter wiąże wartość pola ciągu zapytania o nazwie country z jego FilterExpression ciągiem.The parameter object binds the value of the query-string field named country to its FilterExpression string. Ponieważ żadna DefaultValue Właściwość nie jest określona dla parametru, jeśli pole o nazwie nie country zostanie przesłane z ciągiem zapytania, AccessDataSource formant zgłosi NullReferenceException wyjątek.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. Jeśli pole o nazwie country jest przenoszone, ale nie ma wartości, w GridView kontrolce nie są wyświetlane żadne dane.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>

Poniższy przykład pokazuje, jak utworzyć obiekt, QueryStringParameter Aby wyświetlić dane z bazy danych programu Access za pomocą sparametryzowanych zapytań SQL.The following example shows how to create a QueryStringParameter object to display data from an Access database by using a parameterized SQL query. AccessDataSourceObiekt pobiera rekordy, które są następnie wyświetlane w GridView kontrolce.The AccessDataSource object retrieves records that are then displayed in a GridView control. GridViewKontrolka jest również edytowalna i umożliwia użytkownikom aktualizowanie stanu zamówień w tabeli zamówień Northwind Traders.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>

Uwagi

Klasy można użyć QueryStringParameter do powiązania wartości pola, które jest przesyłane jako część ciągu zapytania żądania HTTP do parametru, który jest używany w zapytaniu sparametryzowanym lub w poleceniu.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. Pole jest pobierane z QueryString kolekcji.The field is retrieved from the QueryString collection.

Kontrolki, które wiążą dane z parametrem, mogą zgłosić wyjątek QueryStringParameter , jeśli istnieje odwołanie do obiektu, ale nie jest przenoszona odpowiednia para nazwa/wartość ciągu zapytania.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. Podobnie mogą nie wyświetlać żadnych danych, jeśli nazwa pola ciągu zapytania jest przenoszona bez odpowiadającej wartości.Similarly, they might display no data if the query-string field name is passed without a corresponding value. Aby uniknąć tych sytuacji, ustaw DefaultValue Właściwość tam, gdzie to konieczne.To avoid these situations, set the DefaultValue property where appropriate.

QueryStringParameterKlasa zawiera QueryStringField Właściwość, która określa nazwę wartości ciągu zapytania, z którą ma zostać utworzone powiązanie.The QueryStringParameter class provides the QueryStringField property, which identifies the name of the query string value to bind to. Zawiera również właściwości dziedziczone z Parameter klasy.It also provides the properties that are inherited from the Parameter class.

Ważne

QueryStringParameterKlasa nie sprawdza poprawności wartości, która została przeniesiona; udostępnia wartość pierwotną.The QueryStringParameter class does not validate the value that is passed; it provides the raw value. Można jednak sprawdzić poprawność wartości QueryStringParameter obiektu w kontrolce źródła danych.However, you can validate the value of a QueryStringParameter object in a data source control. W tym celu należy obsłużyć,, Selecting Updating Inserting , lub Deleting zdarzenia kontroli źródła danych i sprawdzić wartość parametru w programie obsługi zdarzeń.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. Jeśli wartość parametru nie przeszedł testu weryfikacyjnego, można anulować operację na danych przez ustawienie Cancel Właściwości skojarzonej CancelEventArgs klasy na 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.

Konstruktory

QueryStringParameter()

Inicjuje nowe nienazwane wystąpienie QueryStringParameter klasy.Initializes a new unnamed instance of the QueryStringParameter class.

QueryStringParameter(QueryStringParameter)

Inicjuje nowe wystąpienie QueryStringParameter klasy, używając wartości wystąpienia określonego przez original parametr.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)

Inicjuje nowe nazwane wystąpienie QueryStringParameter klasy, używając określonego pola zapytania i typu danych parametru.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)

Inicjuje nowe nazwane wystąpienie QueryStringParameter klasy, używając określonego ciągu do identyfikacji pola ciągu zapytania, z którym ma zostać utworzone powiązanie.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)

Inicjuje nowe nazwane i silnie wpisane wystąpienie QueryStringParameter klasy, używając określonego ciągu do identyfikacji pola ciągu zapytania, z którym ma zostać utworzone powiązanie.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.

Właściwości

ConvertEmptyStringToNull

Pobiera lub ustawia wartość wskazującą, czy wartość, z którą Parameter jest powiązany obiekt, powinna być konwertowana na, null Jeśli jest 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.

(Odziedziczone po Parameter)
DbType

Pobiera lub ustawia typ bazy danych parametru.Gets or sets the database type of the parameter.

(Odziedziczone po Parameter)
DefaultValue

Określa wartość domyślną dla parametru, jeśli wartość, z którą jest powiązany parametr, musi być niezainicjowana, gdy Evaluate(HttpContext, Control) wywoływana jest metoda.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.

(Odziedziczone po Parameter)
Direction

Wskazuje, czy Parameter obiekt jest używany do powiązania wartości z kontrolką, czy można użyć kontrolki, aby zmienić wartość.Indicates whether the Parameter object is used to bind a value to a control, or the control can be used to change the value.

(Odziedziczone po Parameter)
IsTrackingViewState

Pobiera wartość wskazującą, czy Parameter obiekt zapisuje zmiany w stanie widoku.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Odziedziczone po Parameter)
Name

Pobiera lub ustawia nazwę parametru.Gets or sets the name of the parameter.

(Odziedziczone po Parameter)
QueryStringField

Pobiera lub ustawia nazwę pola ciągu zapytania, z którym jest powiązany parametr.Gets or sets the name of the query-string field that the parameter binds to.

Size

Pobiera lub ustawia rozmiar parametru.Gets or sets the size of the parameter.

(Odziedziczone po Parameter)
Type

Pobiera lub ustawia typ parametru.Gets or sets the type of the parameter.

(Odziedziczone po Parameter)
ValidateInput

Pobiera lub ustawia czy wartość parametru ciągu zapytania jest sprawdzana.Gets or sets whether the value of the query string parameter is being validated or not.

ViewState

Pobiera słownik informacji o stanie, który umożliwia zapisanie i przywrócenie stanu widoku Parameter obiektu w wielu żądaniach na tej samej stronie.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.

(Odziedziczone po Parameter)

Metody

Clone()

Zwraca duplikat bieżącego QueryStringParameter wystąpienia.Returns a duplicate of the current QueryStringParameter instance.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Evaluate(HttpContext, Control)

Aktualizuje i zwraca wartość QueryStringParameter obiektu.Updates and returns the value of the QueryStringParameter object.

GetDatabaseType()

Pobiera DbType wartość, która jest równoważna z typem CLR bieżącego Parameter wystąpienia.Gets the DbType value that is equivalent to the CLR type of the current Parameter instance.

(Odziedziczone po Parameter)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
LoadViewState(Object)

Przywraca stan widoku poprzednio zapisanego widoku źródła danych.Restores the data source view's previously saved view state.

(Odziedziczone po Parameter)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnParameterChanged()

Wywołuje OnParametersChanged(EventArgs) metodę ParameterCollection kolekcji, która zawiera Parameter obiekt.Calls the OnParametersChanged(EventArgs) method of the ParameterCollection collection that contains the Parameter object.

(Odziedziczone po Parameter)
SaveViewState()

Zapisuje zmiany Parameter stanu widoku obiektu od momentu, gdy strona została opublikowana z powrotem na serwerze.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Odziedziczone po Parameter)
SetDirty()

Oznacza Parameter obiekt, aby stan został zarejestrowany w stanie widoku.Marks the Parameter object so its state will be recorded in view state.

(Odziedziczone po Parameter)
ToString()

Konwertuje wartość tego wystąpienia na jego równoważną reprezentację w postaci ciągu.Converts the value of this instance to its equivalent string representation.

(Odziedziczone po Parameter)
TrackViewState()

Powoduje, że Parameter obiekt śledzi zmiany stanu widoku, aby mogły być przechowywane w obiekcie kontrolki ViewState i utrwalane między żądaniami dla tej samej strony.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.

(Odziedziczone po Parameter)

Jawne implementacje interfejsu

ICloneable.Clone()

Zwraca duplikat bieżącego Parameter wystąpienia.Returns a duplicate of the current Parameter instance.

(Odziedziczone po Parameter)
IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy Parameter obiekt zapisuje zmiany w stanie widoku.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Odziedziczone po Parameter)
IStateManager.LoadViewState(Object)

Przywraca stan widoku poprzednio zapisanego widoku źródła danych.Restores the data source view's previously saved view state.

(Odziedziczone po Parameter)
IStateManager.SaveViewState()

Zapisuje zmiany Parameter stanu widoku obiektu od momentu, gdy strona została opublikowana z powrotem na serwerze.Saves the changes to the Parameter object's view state since the time the page was posted back to the server.

(Odziedziczone po Parameter)
IStateManager.TrackViewState()

Powoduje, że Parameter obiekt śledzi zmiany stanu widoku, aby mogły być przechowywane w obiekcie kontrolki ViewState i utrwalane między żądaniami dla tej samej strony.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.

(Odziedziczone po Parameter)

Dotyczy

Zobacz też