752b77f7b4bb1b03a2c7a62fd73eefd01304e88f
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / Label.cs
1 /**\r
2  * Namespace: System.Web.UI.WebControls\r
3  * Class:     Label\r
4  *\r
5  * Author:  Gaurav Vaish\r
6  * Maintainer: gvaish@iitk.ac.in\r
7  * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
8  * Implementation: yes\r
9  * Status:  100%\r
10  *\r
11  * (C) Gaurav Vaish (2001)\r
12  */\r
13 \r
14 using System;\r
15 using System.ComponentModel;\r
16 using System.Web;\r
17 using System.Web.UI;\r
18 \r
19 namespace System.Web.UI.WebControls\r
20 {\r
21         [DefaultProperty("Text")]\r
22         //[Designer("??")]\r
23         [ControlBuilder(typeof(LabelControlBuilder))]\r
24         //[DataBindingHandler("??")]\r
25         [ParseChildren(false)]\r
26         [ToolboxData("<{0}:Label runat=\"server\">Label</{0}:Label>")]\r
27         public class Label : WebControl\r
28         {\r
29                 public Label(): base()\r
30                 {\r
31                 }\r
32 \r
33                 internal Label(HtmlTextWriterTag tagKey): base(tagKey)\r
34                 {\r
35                 }\r
36 \r
37                 public virtual string Text\r
38                 {\r
39                         get\r
40                         {\r
41                                 object o = ViewState["Text"];\r
42                                 if(o!=null)\r
43                                         return (string)o;\r
44                                 return String.Empty;\r
45                         }\r
46                         set\r
47                         {\r
48                                 ViewState["Text"] = value;\r
49                         }\r
50                 }\r
51 \r
52                 protected override void AddParsedSubObject(object obj)\r
53                 {\r
54                         if(HasControls())\r
55                         {\r
56                                 AddParsedSubObject(obj);\r
57                                 return;\r
58                         }\r
59                         if(obj is LiteralControl)\r
60                         {\r
61                                 Text = ((LiteralControl)obj).Text;\r
62                                 return;\r
63                         }\r
64                         if(Text.Length > 0)\r
65                         {\r
66                                 AddParsedSubObject(Text);\r
67                                 Text = String.Empty;\r
68                         }\r
69                         AddParsedSubObject(obj);\r
70                 }\r
71 \r
72                 protected override void LoadViewState(object savedState)\r
73                 {\r
74                         if(savedState != null)\r
75                         {\r
76                                 base.LoadViewState(savedState);\r
77                                 string savedText = (string)ViewState["Text"];\r
78                                 if(savedText != null)\r
79                                         Text = savedText;\r
80                         }\r
81                 }\r
82 \r
83                 protected override void RenderContents(HtmlTextWriter writer)\r
84                 {\r
85                         if(HasControls())\r
86                         {\r
87                                 RenderContents(writer);\r
88                         } else\r
89                         {\r
90                                 writer.Write(Text);\r
91                         }\r
92                 }\r
93         }\r
94 }\r