File: CookieParameter.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 (138 lines) | stat: -rw-r--r-- 4,285 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
136
137
138
//------------------------------------------------------------------------------
// <copyright file="CookieParameter.cs" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>                                                                
//------------------------------------------------------------------------------

namespace System.Web.UI.WebControls {

    using System;
    using System.ComponentModel;
    using System.Data;



    /// <devdoc>
    /// Represents a Parameter that gets its value from the application's request parameters.
    /// </devdoc>
    [
    DefaultProperty("CookieName"),
    ]
    public class CookieParameter : Parameter {

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


        /// <devdoc>
        /// Creates an instance of the CookieParameter class with the specified parameter name and request field.
        /// </devdoc>
        public CookieParameter(string name, string cookieName) : base(name) {
            CookieName = cookieName;
        }


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


        /// <devdoc>
        /// Creates an instance of the CookieParameter class with the specified parameter name, type, and request field.
        /// </devdoc>
        public CookieParameter(string name, TypeCode type, string cookieName) : base(name, type) {
            CookieName = cookieName;
        }


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



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


        /// <devdoc>
        /// Creates a new CookieParameter that is a copy of this CookieParameter.
        /// </devdoc>
        protected override Parameter Clone() {
            return new CookieParameter(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;
            }

            HttpCookieCollection cookieCollection = ValidateInput ? context.Request.Cookies : context.Request.Unvalidated.Cookies;
            HttpCookie cookie = cookieCollection[CookieName];
            if (cookie == null) {
                return null;
            }
            return cookie.Value;
        }

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