2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / QueryStringParameter.cs
1 //
2 // System.Web.UI.WebControls.QueryStringParameter
3 //
4 // Authors:
5 //      Ben Maurer (bmaurer@users.sourceforge.net)
6 //
7 // (C) 2003 Ben Maurer
8 //
9
10 #if NET_1_2
11 using System.Collections;
12 using System.Collections.Specialized;
13 using System.Text;
14
15 namespace System.Web.UI.WebControls {
16         public class QueryStringParameter : Parameter {
17                 protected QueryStringParameter (QueryStringParameter original) : base (original)
18                 {
19                         this.QueryStringField = original.QueryStringField;
20                         
21                 }
22                 
23                 public QueryStringParameter (string name, string queryStringField) : base (name)
24                 {
25                         QueryStringField = queryStringField;
26                 }
27                 
28                 public QueryStringParameter (string name, TypeCode type, string queryStringField) : base (name, type)
29                 {
30                         QueryStringField = queryStringField;
31                 }
32                 
33                 protected override Parameter Clone ()
34                 {
35                         return new QueryStringParameter (this);
36                 }
37                 
38                 protected override object Evaluate (Control control)
39                 {
40                         if (control == null || control.Page == null || control.Page.Request == null)
41                                 return null;
42                         
43                         return control.Page.Request.QueryString [QueryStringField];
44                 }
45                 
46                 public string QueryStringField {
47                         get {
48                                 string s = ViewState ["QueryStringField"] as string;
49                                 if (s != null)
50                                         return s;
51                                 
52                                 return "";
53                         }
54                         set {
55                                 if (QueryStringField != value) {
56                                         ViewState ["QueryStringField"] = value;
57                                         OnParameterChanged ();
58                                 }
59                         }
60                 }
61         }
62 }
63 #endif
64