QueryStringParameter QueryStringParameter QueryStringParameter QueryStringParameter Class

Определение

Привязывает значение поля строки запроса HTTP к объекту параметра.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
Наследование
QueryStringParameterQueryStringParameterQueryStringParameterQueryStringParameter

Примеры

В следующем примере показано, как создать QueryStringParameter объект для использования в качестве фильтра при отображении данных в GridView элемента управления.The following example shows how to create a QueryStringParameter object to use as a filter when you display data in a GridView control. Добавляемые QueryStringParameter объект AccessDataSource элемента управления FilterParameters коллекции.You add the QueryStringParameter object to the AccessDataSource control's FilterParameters collection. Объект параметра привязывает значение поля строки запроса, с именем country для его FilterExpression строка.The parameter object binds the value of the query-string field named country to its FilterExpression string. Так как не DefaultValue свойство указано для параметра, если нет поля с именем country передается с помощью строки запроса, AccessDataSource управления вызывает NullReferenceException исключение.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. Если поле с именем country передается, но не имеет значения, GridView элемент управления не отображаются данные.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>

В следующем примере показано, как создать QueryStringParameter объекта для отображения данных из базы данных Access с помощью параметризованного запроса SQL.The following example shows how to create a QueryStringParameter object to display data from an Access database by using a parameterized SQL query. AccessDataSource Извлекает записи, которые затем отображаются в GridView элемента управления.The AccessDataSource object retrieves records that are then displayed in a GridView control. GridView Управления также можно изменять и дает возможность пользователям обновлять статус заказов в таблице 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>

Комментарии

Можно использовать QueryStringParameter для привязки значение поля, который передается как часть строку запроса HTTP-запроса к параметру, который используется в параметризованном запросе или команде.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. Поля извлекается из QueryString коллекции.The field is retrieved from the QueryString collection.

Элементы управления с привязкой данных в параметре может исключение, если QueryStringParameter ссылок на объект, но передается без соответствующей пары имя значение строки запроса.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. Аналогичным образом они могут не отображать данные, если имя поля строки запроса передается без соответствующего значения.Similarly, they might display no data if the query-string field name is passed without a corresponding value. Чтобы избежать таких ситуаций, задайте DefaultValue свойство где уместно.To avoid these situations, set the DefaultValue property where appropriate.

QueryStringParameter Класс предоставляет QueryStringField свойство, которое определяет имя значения строки запроса для привязки.The QueryStringParameter class provides the QueryStringField property, which identifies the name of the query string value to bind to. Он также предоставляет свойства, которые наследуются от Parameter класса.It also provides the properties that are inherited from the Parameter class.

Важно!

QueryStringParameter Класса не проверяет значение, которое передается; оно предоставляет исходное значение.The QueryStringParameter class does not validate the value that is passed; it provides the raw value. Тем не менее, вы можете проверить значение QueryStringParameter объекта в элемент управления источником данных.However, you can validate the value of a QueryStringParameter object in a data source control. Для этого обработайте Selecting, Updating, Inserting, или Deleting событий данных система управления версиями и проверьте значение параметра в обработчике событий.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. Если значение параметра не проходит проверочные тесты, вы можете отменить операции с данными, задав Cancel связанного CancelEventArgs класс 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.

Конструкторы

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

Инициализирует новый безымянный экземпляр класса QueryStringParameter.Initializes a new unnamed instance of the QueryStringParameter class.

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

Инициализирует новый экземпляр класса QueryStringParameter значениями экземпляра, заданного параметром 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)

Инициализирует новый именованный экземпляр класса QueryStringParameter, используя указанные поле строки запроса и тип данных параметра.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)

Инициализирует новый именованный экземпляр класса QueryStringParameter, используя заданную строку для обозначения поля строки запроса, к которому выполняется привязка.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)

Инициализирует новый именованный и строго типизированный экземпляр класса QueryStringParameter, используя заданную строку для обозначения поля строки запроса, к которому выполняется привязка.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.

Свойства

ConvertEmptyStringToNull ConvertEmptyStringToNull ConvertEmptyStringToNull ConvertEmptyStringToNull

Возвращает или задает значение, указывающее на необходимость преобразования значения, к которому привязан объект Parameter в null, если его значение равно 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

Возвращает или задает тип базы данных параметра.Gets or sets the database type of the parameter.

(Inherited from Parameter)
DefaultValue DefaultValue DefaultValue DefaultValue

Задает значение по умолчанию для параметра, если значение, к которому привязан параметр, должно быть инициализировано при вызове метода 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

Указывает, используется ли объект Parameter для привязки значения к элементу управления или же элемент управления можно использовать для изменения значения.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

Получает значение, указывающее сохраняет ли объект Parameter изменения в данных о состоянии представления.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Inherited from Parameter)
IsTrackingViewState IsTrackingViewState IsTrackingViewState IsTrackingViewState

Получает значение, указывающее сохраняет ли объект Parameter изменения в данных о состоянии представления.Gets a value indicating whether the Parameter object is saving changes to its view state.

(Inherited from Parameter)
Name Name Name Name

Получает или задает имя параметра.Gets or sets the name of the parameter.

(Inherited from Parameter)
QueryStringField QueryStringField QueryStringField QueryStringField

Возвращает или задает имя поля строки запроса, к которому привязывается параметр.Gets or sets the name of the query-string field that the parameter binds to.

Size Size Size Size

Возвращает или задает размер параметра.Gets or sets the size of the parameter.

(Inherited from Parameter)
Type Type Type Type

Получает или задает тип параметра.Gets or sets the type of the parameter.

(Inherited from Parameter)
ValidateInput ValidateInput ValidateInput ValidateInput

Получает или задает значение, указывающее, проверяется ли значение параметра строки запроса.Gets or sets whether the value of the query string parameter is being validated or not.

ViewState ViewState ViewState ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления объекта Parameter при нескольких запросах одной и той же страницы.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)

Методы

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

Возвращает дубликат текущего экземпляра QueryStringParameter.Returns a duplicate of the current QueryStringParameter instance.

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

Определяет, равен ли заданный объект текущему объекту.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)

Обновляет и возвращает значение объекта QueryStringParameter.Updates and returns the value of the QueryStringParameter object.

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

Возвращает значение DbType, эквивалентное типу среды CLR текущего экземпляра Parameter.Gets the DbType value that is equivalent to the CLR type of the current Parameter instance.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Восстанавливает сохраненное раннее состояние представления источника данных.Restores the data source view's previously saved view state.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Вызывает метод OnParametersChanged(EventArgs) коллекции ParameterCollection, содержащей объект Parameter.Calls the OnParametersChanged(EventArgs) method of the ParameterCollection collection that contains the Parameter object.

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

Сохраняет изменения в данных о состоянии представления объекта Parameter после обратной передачи страницы на сервер.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()

Обозначает объект Parameter как подлежащий записи его состояния в данные о состоянии представления.Marks the Parameter object so its state will be recorded in view state.

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

Преобразует значение этого экземпляра в эквивалентное ему строковое представление.Converts the value of this instance to its equivalent string representation.

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

Инициирует отслеживание объектом Parameter изменений в состоянии его представления, благодаря чему их можно сохранить для этого объекта ViewState элемента управления и хранить их для всех запросов одной и той же страницы.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)

Явные реализации интерфейса

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

Возвращает дубликат текущего экземпляра Parameter.Returns a duplicate of the current Parameter instance.

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

Восстанавливает сохраненное раннее состояние представления источника данных.Restores the data source view's previously saved view state.

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

Сохраняет изменения в данных о состоянии представления объекта Parameter после обратной передачи страницы на сервер.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()

Инициирует отслеживание объектом Parameter изменений в состоянии его представления, благодаря чему их можно сохранить для этого объекта ViewState элемента управления и хранить их для всех запросов одной и той же страницы.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)

Применяется к

Дополнительно