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