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