03946214572f7643145137aa72d2f26ba2f4eef5
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlInputFile.cs
1 /*      System.Web.UI.HtmlControls\r
2 *       Authors\r
3 *               Leen Toelen (toelen@hotmail.com)\r
4 */\r
5 \r
6 using System;\r
7 using System.ComponentModel;\r
8 using System.Web;\r
9 using System.Web.UI;\r
10 using System.Globalization;\r
11 using System.Collections.Specialized;\r
12 \r
13 namespace System.Web.UI.HtmlControls{\r
14         [ValidationProperty("Value")]\r
15         public class HtmlInputFile : HtmlInputControl, IPostBackDataHandler{\r
16                 \r
17                 public HtmlInputFile():base("file"){}\r
18                 \r
19                 bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
20                                                        NameValueCollection postCollection)\r
21                 {\r
22                         return false;\r
23                 }\r
24                 \r
25                 void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
26                 {\r
27                 }\r
28                 \r
29                 [DefaultValue("")]\r
30                 [WebCategory("Behavior")]\r
31                 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
32                 public string Accept{\r
33                         get{\r
34                                 string attr = Attributes["accept"];\r
35                                 if (attr != null)\r
36                                         return attr;\r
37                                 return String.Empty;\r
38                         }\r
39                         set{\r
40                                 Attributes["accept"] = AttributeToString(value);\r
41                         }\r
42                 }\r
43                 \r
44                 [DefaultValue("")]\r
45                 [WebCategory("Behavior")]\r
46                 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
47                 public int MaxLength{\r
48                         get{\r
49                                 string attr = Attributes["maxlength"];\r
50                                 if (attr != null)\r
51                                         return Int32.Parse(attr, CultureInfo.InvariantCulture);\r
52                                 return -1;\r
53                         }\r
54                         set{\r
55                                 Attributes["accept"] = AttributeToString(value);\r
56                         }\r
57                 }\r
58                 \r
59                 [DefaultValue("")]\r
60                 [WebCategory("Appearance")]\r
61                 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
62                 public int Size{\r
63                         get{\r
64                                 string attr = Attributes["size"];\r
65                                 if (attr != null)\r
66                                         return Int32.Parse(attr, CultureInfo.InvariantCulture);\r
67                                 return -1;\r
68                         }\r
69                         set{\r
70                                 Attributes["size"] = AttributeToString(value);\r
71                         }\r
72                 }\r
73                 \r
74                 [DefaultValue("")]\r
75                 [WebCategory("Misc")]\r
76                 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
77                 public HttpPostedFile PostedFile{\r
78                         get{\r
79                                 return Context.Request.Files[RenderedName];\r
80                         }\r
81                 }\r
82 \r
83 #if NET_1_1\r
84                 [Browsable (false)]\r
85                 public override string Value {\r
86                         get {\r
87                                 HttpPostedFile file = PostedFile;\r
88                                 if (file == null)\r
89                                         return "";\r
90 \r
91                                 return file.FileName;\r
92                         }\r
93 \r
94                         set {\r
95                                 throw new NotSupportedException ();\r
96                         }\r
97                 }\r
98 #endif\r
99                 \r
100         } // class HtmlInputFile\r
101 } // namespace System.Web.UI.HtmlControls\r
102 \r