HyperLink.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /**
  2. * Namespace: System.Web.UI.WebControls
  3. * Class: HyperLink
  4. *
  5. * Author: Gaurav Vaish
  6. * Maintainer: [email protected]
  7. * Contact: [email protected], [email protected]
  8. * Implementation: yes
  9. * Status: 100%
  10. *
  11. * (C) Gaurav Vaish (2001)
  12. */
  13. namespace System.Web.UI.WebControls
  14. {
  15. public class HyperLink: WebControl
  16. {
  17. public HyperLink(): base()
  18. {
  19. }
  20. public virtual string ImageUrl
  21. {
  22. get
  23. {
  24. object o = ViewState["ImageUrl"];
  25. if(o!=null)
  26. return (string)o;
  27. return String.Empty;
  28. }
  29. set
  30. {
  31. ViewState["ImageUrl"] = value;
  32. }
  33. }
  34. public string NavigateUrl
  35. {
  36. get
  37. {
  38. object o = ViewState["NavigateUrl"];
  39. if(o!=null)
  40. return (string)o;
  41. return String.Empty;
  42. }
  43. set
  44. {
  45. ViewState["NavigateUrl"] = value;
  46. }
  47. }
  48. public string Target
  49. {
  50. get
  51. {
  52. object o = ViewState["Target"];
  53. if(o!=null)
  54. return (string)o;
  55. return String.Empty;
  56. }
  57. set
  58. {
  59. ViewState["Target"] = value;
  60. }
  61. }
  62. public virtual string Text
  63. {
  64. get
  65. {
  66. object o = ViewState["Text"];
  67. if(o!=null)
  68. return (string)o;
  69. return String.Empty;
  70. }
  71. set
  72. {
  73. ViewState["Text"] = value;
  74. }
  75. }
  76. protected override void AddAttributesToRender(HtmlTextWriter writer)
  77. {
  78. AddAttributesToRender(writer);
  79. if(NavigateUrl.Length > 0)
  80. {
  81. writer.AddAttribute(HtmlTextWriterAttribute.Href, NavigateUrl);
  82. }
  83. if(Target.Length > 0)
  84. {
  85. writer.AddAttribute(HtmlTextWriterAttribute.Target, Target);
  86. }
  87. }
  88. protected override void AddParsedSubObject(object obj)
  89. {
  90. if(HasControls())
  91. {
  92. base.AddParsedSubObject(obj);
  93. return;
  94. }
  95. if(obj is LiteralControl)
  96. {
  97. Text = ((LiteralControl)obj).Text;
  98. return;
  99. }
  100. if(Text.Length > 0)
  101. {
  102. base.AddParsedSubObject(Text);
  103. Text = String.Empty;
  104. }
  105. AddParsedSubObject(obj);
  106. }
  107. protected override void LoadViewState(object savedState)
  108. {
  109. if(savedState != null)
  110. {
  111. base.LoadViewState(savedState);
  112. object o = ViewState["Text"];
  113. if(o!=null)
  114. Text = (string)o;
  115. }
  116. }
  117. protected override void RenderContents(HtmlTextWriter writer)
  118. {
  119. if(ImageUrl.Length > 0)
  120. {
  121. Image img = new Image();
  122. img.ImageUrl = ResolveUrl(ImageUrl);
  123. if(ToolTip.Length > 0)
  124. img.ToolTip = ToolTip;
  125. if(Text.Length > 0)
  126. img.AlternateText = Text;
  127. img.RenderControl(writer);
  128. return;
  129. }
  130. if(HasControls())
  131. {
  132. base.RenderControl(writer);
  133. return;
  134. }
  135. writer.Write(Text);
  136. }
  137. }
  138. }