QueryStringParameter 类

定义

将 HTTP 请求查询字符串字段的值绑定到参数对象。

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
继承
QueryStringParameter

示例

以下示例演示如何在 GridView 控件中显示数据时创建 QueryStringParameter 对象以用作筛选器。 将 QueryStringParameter 对象添加到 AccessDataSource 控件的 FilterParameters 集合中。 参数对象将名为 country 的查询字符串字段的值绑定到其 FilterExpression 字符串。 由于没有为参数指定任何 DefaultValue 属性,因此如果未使用查询字符串传递名为 country 的字段,则 AccessDataSource 控件将引发 NullReferenceException 异常。 如果传递了名为 country 的字段,但没有值,则 GridView 控件不显示任何数据。

<%@ 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 类将作为 HTTP 请求查询字符串一部分传递的字段的值绑定到参数化查询或命令中使用的参数。 从 QueryString 集合中检索字段。

如果引用了 QueryStringParameter 对象,但未传递相应的查询字符串名称/值对,则绑定到参数的控件可能会引发异常。 同样,如果在没有相应值的情况下传递查询字符串字段名称,则它们可能不会显示任何数据。 若要避免这些情况,请根据需要设置 DefaultValue 属性。

QueryStringParameter 类提供 QueryStringField 属性,该属性标识要绑定到的查询字符串值的名称。 它还提供从 Parameter 类继承的属性。

重要

QueryStringParameter 类不验证传递的值;它提供原始值。 但是,可以验证数据源控件中 QueryStringParameter 对象的值。 为此,请处理数据源控件的 SelectingUpdatingInsertingDeleting 事件,并检查事件处理程序中的参数值。 如果参数的值未通过验证测试,则可以通过将关联的 CancelEventArgs 类的 Cancel 属性设置为 true来取消数据操作。

构造函数

QueryStringParameter()

初始化 QueryStringParameter 类的新未命名实例。

QueryStringParameter(QueryStringParameter)

使用 original 参数指定的实例的值初始化 QueryStringParameter 类的新实例。

QueryStringParameter(String, DbType, String)

使用指定的查询字符串字段和参数的数据类型初始化 QueryStringParameter 类的新命名实例。

QueryStringParameter(String, String)

使用指定的字符串来标识要绑定到的查询字符串字段,初始化 QueryStringParameter 类的新命名实例。

QueryStringParameter(String, TypeCode, String)

使用指定的字符串来标识要绑定到的查询字符串字段,初始化 QueryStringParameter 类的新命名和强类型实例。

属性

ConvertEmptyStringToNull

获取或设置一个值,该值指示是否应将 Parameter 对象绑定到的值转换为 null(如果 Empty)。

(继承自 Parameter)
DbType

获取或设置参数的数据库类型。

(继承自 Parameter)
DefaultValue

指定参数的默认值,如果调用 Evaluate(HttpContext, Control) 方法时,参数绑定到未初始化的值。

(继承自 Parameter)
Direction

指示 Parameter 对象是用于将值绑定到控件,还是该控件可用于更改值。

(继承自 Parameter)
IsTrackingViewState

获取一个值,该值指示 Parameter 对象是否将更改保存到其视图状态。

(继承自 Parameter)
Name

获取或设置参数的名称。

(继承自 Parameter)
QueryStringField

获取或设置参数绑定到的查询字符串字段的名称。

Size

获取或设置参数的大小。

(继承自 Parameter)
Type

获取或设置参数的类型。

(继承自 Parameter)
ValidateInput

获取或设置是否正在验证查询字符串参数的值。

ViewState

获取状态信息的字典,该字典允许跨同一页的多个请求保存和还原 Parameter 对象的视图状态。

(继承自 Parameter)

方法

Clone()

返回当前 QueryStringParameter 实例的副本。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Evaluate(HttpContext, Control)

更新并返回 QueryStringParameter 对象的值。

GetDatabaseType()

获取与当前 Parameter 实例的 CLR 类型等效的 DbType 值。

(继承自 Parameter)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
LoadViewState(Object)

还原数据源视图以前保存的视图状态。

(继承自 Parameter)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
OnParameterChanged()

调用包含 Parameter 对象的 ParameterCollection 集合的 OnParametersChanged(EventArgs) 方法。

(继承自 Parameter)
SaveViewState()

保存自页面发布回服务器以来对 Parameter 对象的视图状态所做的更改。

(继承自 Parameter)
SetDirty()

标记 Parameter 对象,以便其状态将记录在视图状态中。

(继承自 Parameter)
ToString()

将此实例的值转换为其等效的字符串表示形式。

(继承自 Parameter)
TrackViewState()

使 Parameter 对象跟踪其视图状态的更改,以便这些更改可以存储在控件的 ViewState 对象中,并跨同一页的请求持久保存。

(继承自 Parameter)

显式接口实现

ICloneable.Clone()

返回当前 Parameter 实例的副本。

(继承自 Parameter)
IStateManager.IsTrackingViewState

获取一个值,该值指示 Parameter 对象是否将更改保存到其视图状态。

(继承自 Parameter)
IStateManager.LoadViewState(Object)

还原数据源视图以前保存的视图状态。

(继承自 Parameter)
IStateManager.SaveViewState()

保存自页面发布回服务器以来对 Parameter 对象的视图状态所做的更改。

(继承自 Parameter)
IStateManager.TrackViewState()

使 Parameter 对象跟踪其视图状态的更改,以便这些更改可以存储在控件的 ViewState 对象中,并跨同一页的请求持久保存。

(继承自 Parameter)

适用于

另请参阅