2003-11-18 Todd Berman <tberman@gentoo.org>
[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
18                 public QueryStringParameter () : base ()
19                 {
20                 }
21
22                 protected QueryStringParameter (QueryStringParameter original) : base (original)
23                 {
24                         this.QueryStringField = original.QueryStringField;
25                         
26                 }
27                 
28                 public QueryStringParameter (string name, string queryStringField) : base (name)
29                 {
30                         QueryStringField = queryStringField;
31                 }
32                 
33                 public QueryStringParameter (string name, TypeCode type, string queryStringField) : base (name, type)
34                 {
35                         QueryStringField = queryStringField;
36                 }
37                 
38                 protected override Parameter Clone ()
39                 {
40                         return new QueryStringParameter (this);
41                 }
42                 
43                 protected override object Evaluate (Control control)
44                 {
45                         if (control == null || control.Page == null || control.Page.Request == null)
46                                 return null;
47                         
48                         return control.Page.Request.QueryString [QueryStringField];
49                 }
50                 
51                 public string QueryStringField {
52                         get {
53                                 string s = ViewState ["QueryStringField"] as string;
54                                 if (s != null)
55                                         return s;
56                                 
57                                 return "";
58                         }
59                         set {
60                                 if (QueryStringField != value) {
61                                         ViewState ["QueryStringField"] = value;
62                                         OnParameterChanged ();
63                                 }
64                         }
65                 }
66         }
67 }
68 #endif
69