File: FormParameter.cs

package info (click to toggle)
mono 6.14.1%2Bds2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,282,732 kB
  • sloc: cs: 11,182,461; xml: 2,850,281; ansic: 699,123; cpp: 122,919; perl: 58,604; javascript: 30,841; asm: 21,845; makefile: 19,602; sh: 10,973; python: 4,772; pascal: 925; sql: 859; sed: 16; php: 1
file content (135 lines) | stat: -rw-r--r-- 4,128 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="FormParameter.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 form parameters.
    /// </devdoc>
    [
    DefaultProperty("FormField"),
    ]
    public class FormParameter : Parameter {

        /// <devdoc>
        /// Creates an instance of the FormParameter class.
        /// </devdoc>
        public FormParameter() {
        }


        /// <devdoc>
        /// Creates an instance of the FormParameter class with the specified parameter name and form field.
        /// </devdoc>
        public FormParameter(string name, string formField) : base(name) {
            FormField = formField;
        }


        /// <devdoc>
        /// Creates an instance of the FormParameter class with the specified parameter name, database type, and
        /// form field.
        /// </devdoc>
        public FormParameter(string name, DbType dbType, string formField)
            : base(name, dbType) {
            FormField = formField;
        }


        /// <devdoc>
        /// Creates an instance of the FormParameter class with the specified parameter name, type, and form field.
        /// </devdoc>
        public FormParameter(string name, TypeCode type, string formField) : base(name, type) {
            FormField = formField;
        }


        /// <devdoc>
        /// Used to clone a parameter.
        /// </devdoc>
        protected FormParameter(FormParameter original) : base(original) {
            FormField = original.FormField;
            ValidateInput = original.ValidateInput;
        }



        /// <devdoc>
        /// The name of the form parameter to get the value from.
        /// </devdoc>
        [
        DefaultValue(""),
        WebCategory("Parameter"),
        WebSysDescription(SR.FormParameter_FormField),
        ]
        public string FormField {
            get {
                object o = ViewState["FormField"];
                if (o == null)
                    return String.Empty;
                return (string)o;
            }
            set {
                if (FormField != value) {
                    ViewState["FormField"] = value;
                    OnParameterChanged();
                }
            }
        }


        /// <devdoc>
        /// Creates a new FormParameter that is a copy of this FormParameter.
        /// </devdoc>
        protected override Parameter Clone() {
            return new FormParameter(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 formCollection = ValidateInput ? context.Request.Form : context.Request.Unvalidated.Form;
            return formCollection[FormField];
        }

        /// <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();
                }
            }
        }
    }
}