* \r
* Author: Gaurav Vaish\r
* Maintainer: gvaish@iitk.ac.in\r
- * Contact: <gvaish@iitk.ac.in>\r
+ * Contact: gvaish@iitk.ac.in, myscripts_2001@yahoo.com\r
* Implementation: yes\r
- * Status: 10% (??)\r
+ * Status: 100%\r
* \r
* (C) Gaurav Vaish (2001)\r
*/\r
{\r
public class HyperLink: WebControl\r
{\r
- string imageUrl;\r
- string navigateUrl;\r
- string target;\r
- string text;\r
- \r
- public HyperLink()\r
+ public HyperLink(): base()\r
{\r
- imageUrl = string.Empty;\r
- navigateUrl = string.Empty;\r
- target = string.Empty;\r
- text = string.Empty;\r
}\r
\r
public virtual string ImageUrl\r
{\r
get\r
{\r
- return imageUrl;\r
+ object o = ViewState["ImageUrl"];\r
+ if(o!=null)\r
+ return (string)o;\r
+ return String.Empty;\r
}\r
set\r
{\r
- imageUrl = value;\r
+ ViewState["ImageUrl"] = value;\r
}\r
}\r
\r
{\r
get\r
{\r
- return navigateUrl;\r
+ object o = ViewState["NavigateUrl"];\r
+ if(o!=null)\r
+ return (string)o;\r
+ return String.Empty;\r
}\r
set\r
{\r
- navigateUrl = value;\r
+ ViewState["NavigateUrl"] = value;\r
}\r
}\r
\r
{\r
get\r
{\r
- return target;\r
+ object o = ViewState["Target"];\r
+ if(o!=null)\r
+ return (string)o;\r
+ return String.Empty;\r
}\r
set\r
{\r
- target = value;\r
+ ViewState["Target"] = value;\r
}\r
}\r
\r
{\r
get\r
{\r
- return text;\r
+ object o = ViewState["Text"];\r
+ if(o!=null)\r
+ return (string)o;\r
+ return String.Empty;\r
}\r
set\r
{\r
- text = value;\r
+ ViewState["Text"] = value;\r
+ }\r
+ }\r
+ \r
+ protected override void AddAttributesToRender(HtmlTextWriter writer) : AddAttributesToRender(writer)\r
+ {\r
+ if(NavigateUrl.Length > 0)\r
+ {\r
+ writer.AddAttribute(HtmlTextWriterAttribute.Href, NavigateUrl);\r
+ }\r
+ if(Target.Length > 0)\r
+ {\r
+ writer.AddAttribute(HtmlTextWriterAttribute.Target, Target);\r
+ }\r
+ }\r
+ \r
+ protected override void AddParsedSubObject(object obj)\r
+ {\r
+ if(HasControls())\r
+ {\r
+ base.AddParsedSubObject(obj);\r
+ return;\r
+ }\r
+ if(obj is LiteralConrol)\r
+ {\r
+ Text = ((LiteralControl)obj).Text;\r
+ return;\r
+ }\r
+ if(Text.Length > 0)\r
+ {\r
+ base.AddParsedSubObject(Text);\r
+ Text = String.Empty;\r
+ }\r
+ AddParsedSubObject(obj);\r
+ }\r
+ \r
+ protected override void LoadViewState(object savedState)\r
+ {\r
+ if(savedState != null)\r
+ {\r
+ base.LoadViewState(savedState);\r
+ object o = ViewState["Text"];\r
+ if(o!=null)\r
+ Text = (string)o;\r
+ }\r
+ }\r
+ \r
+ protected override void RenderContents(HtmlTextWriter writer)\r
+ {\r
+ if(ImageUrl.Length > 0)\r
+ {\r
+ Image img = new Image();\r
+ img.ImageUrl = ResolveUrl(ImageUrl);\r
+ if(ToolTip.Length > 0)\r
+ img.ToolTip = ToolTip;\r
+ if(Text.Length > 0)\r
+ img.AlternateText = Text;\r
+ img.RenderControl(writer);\r
+ return;\r
+ }\r
+ if(HasControls())\r
+ {\r
+ base.RenderControl(writer);\r
+ return;\r
}\r
+ writer.Write(Text);\r
}\r
}\r
}\r