QueryStringParameter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 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
- 继承
示例
以下示例演示如何在 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 对象的值。 为此,请处理数据源控件的 Selecting
、Updating
、Inserting
或 Deleting
事件,并检查事件处理程序中的参数值。 如果参数的值未通过验证测试,则可以通过将关联的 CancelEventArgs 类的 Cancel 属性设置为 true
来取消数据操作。
构造函数
QueryStringParameter() |
初始化 QueryStringParameter 类的新未命名实例。 |
QueryStringParameter(QueryStringParameter) |
使用 |
QueryStringParameter(String, DbType, String) |
使用指定的查询字符串字段和参数的数据类型初始化 QueryStringParameter 类的新命名实例。 |
QueryStringParameter(String, String) |
使用指定的字符串来标识要绑定到的查询字符串字段,初始化 QueryStringParameter 类的新命名实例。 |
QueryStringParameter(String, TypeCode, String) |
使用指定的字符串来标识要绑定到的查询字符串字段,初始化 QueryStringParameter 类的新命名和强类型实例。 |
属性
ConvertEmptyStringToNull |
获取或设置一个值,该值指示是否应将 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) |