1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
//------------------------------------------------------------------------------
// <copyright file="QueryStringParameter.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
/// <devdoc>
/// Represents a Parameter that gets its value from the application's QueryString parameters.
/// </devdoc>
[
DefaultProperty("QueryStringField"),
]
public class QueryStringParameter : Parameter {
/// <devdoc>
/// Creates an instance of the QueryStringParameter class.
/// </devdoc>
public QueryStringParameter() {
}
/// <devdoc>
/// Creates an instance of the QueryStringParameter class with the specified parameter name and QueryString field.
/// </devdoc>
public QueryStringParameter(string name, string queryStringField) : base(name) {
QueryStringField = queryStringField;
}
/// <devdoc>
/// Creates an instance of the QueryStringParameter class with the specified parameter name, database type,
/// and QueryString field.
/// </devdoc>
public QueryStringParameter(string name, DbType dbType, string queryStringField)
: base(name, dbType) {
QueryStringField = queryStringField;
}
/// <devdoc>
/// Creates an instance of the QueryStringParameter class with the specified parameter name, type, and QueryString field.
/// </devdoc>
public QueryStringParameter(string name, TypeCode type, string queryStringField) : base(name, type) {
QueryStringField = queryStringField;
}
/// <devdoc>
/// Used to clone a parameter.
/// </devdoc>
protected QueryStringParameter(QueryStringParameter original) : base(original) {
QueryStringField = original.QueryStringField;
ValidateInput = original.ValidateInput;
}
/// <devdoc>
/// The name of the QueryString parameter to get the value from.
/// </devdoc>
[
DefaultValue(""),
WebCategory("Parameter"),
WebSysDescription(SR.QueryStringParameter_QueryStringField),
]
public string QueryStringField {
get {
object o = ViewState["QueryStringField"];
if (o == null)
return String.Empty;
return (string)o;
}
set {
if (QueryStringField != value) {
ViewState["QueryStringField"] = value;
OnParameterChanged();
}
}
}
/// <devdoc>
/// Creates a new QueryStringParameter that is a copy of this QueryStringParameter.
/// </devdoc>
protected override Parameter Clone() {
return new QueryStringParameter(this);
}
/// <devdoc>
/// Returns the updated value of the parameter.
/// </devdoc>
protected internal override object Evaluate(HttpContext context, Control control) {
if (context == null || context.Request == null) {
return null;
}
NameValueCollection queryStringCollection = ValidateInput ? context.Request.QueryString : context.Request.Unvalidated.QueryString;
return queryStringCollection[QueryStringField];
}
/// <summary>
/// Determines whether the parameter's value is being validated or not.
/// </summary>
[
WebCategory("Behavior"),
WebSysDescription(SR.Parameter_ValidateInput),
DefaultValue(true)
]
public bool ValidateInput {
get {
object o = ViewState["ValidateInput"];
if (o == null)
return true;
return (bool)o;
}
set {
if (ValidateInput != value) {
ViewState["ValidateInput"] = value;
OnParameterChanged();
}
}
}
}
}
|