File: QueryStringParameter.cs

package info (click to toggle)
mono 6.8.0.105%2Bdfsg-3.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,284,512 kB
  • sloc: cs: 11,172,132; xml: 2,850,069; ansic: 671,653; cpp: 122,091; perl: 59,366; javascript: 30,841; asm: 22,168; makefile: 20,093; sh: 15,020; python: 4,827; pascal: 925; sql: 859; sed: 16; php: 1
file content (135 lines) | stat: -rw-r--r-- 4,429 bytes parent folder | download | duplicates (7)
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();
                }
            }
        }
    }
}