| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- //
- // System.Web.UI.HtmlControls.HtmlControl.cs
- //
- // Author
- // Bob Smith <[email protected]>
- //
- //
- // (C) Bob Smith
- //
- using System;
- using System.ComponentModel;
- using System.Globalization;
- using System.Web;
- using System.Web.UI;
- namespace System.Web.UI.HtmlControls{
-
- [ToolboxItem(false)]
- public abstract class HtmlControl : Control, IAttributeAccessor
- {
- private string _tagName = "span";
- private AttributeCollection _attributes;
- private bool _disabled = false;
-
- public HtmlControl() : this ("span") {}
-
- public HtmlControl(string tag)
- {
- _tagName = tag;
- }
-
- protected override ControlCollection CreateControlCollection ()
- {
- return new EmptyControlCollection (this);
- }
- internal static string AttributeToString(int n){
- if (n != -1)return n.ToString(NumberFormatInfo.InvariantInfo);
- return null;
- }
-
- internal static string AttributeToString(string s){
- if (s != null && s.Length != 0) return s;
- return null;
- }
-
- internal void PreProcessRelativeReference(HtmlTextWriter writer, string attribName){
- string attr = Attributes[attribName];
- if (attr != null){
- if (attr.Length != 0){
- try{
- attr = ResolveUrl(attr);
- }
- catch (Exception e) {
- throw new HttpException(attribName + " property had malformed url");
- }
- writer.WriteAttribute(attribName, attr);
- Attributes.Remove(attribName);
- }
- }
- }
-
- string System.Web.UI.IAttributeAccessor.GetAttribute(string name){
- return Attributes[name];
- }
-
- void System.Web.UI.IAttributeAccessor.SetAttribute(string name, string value){
- Attributes[name] = value;
- }
-
- protected virtual void RenderBeginTag (HtmlTextWriter writer)
- {
- writer.WriteBeginTag (TagName);
- RenderAttributes (writer);
- writer.Write ('>');
- }
- protected override void Render (HtmlTextWriter writer)
- {
- RenderBeginTag (writer);
- }
-
- protected virtual void RenderAttributes(HtmlTextWriter writer){
- if (ID != null){
- writer.WriteAttribute("id",ClientID);
- }
- Attributes.Render(writer);
- }
-
- [Browsable(false)]
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- public AttributeCollection Attributes
- {
- get {
- if (_attributes == null)
- _attributes = new AttributeCollection (ViewState);
- return _attributes;
- }
- }
- [DefaultValue("")]
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [WebCategory("Behavior")]
- public bool Disabled
- {
- get { return _disabled; }
- set { _disabled = value; }
- }
- [Browsable(false)]
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- public CssStyleCollection Style
- {
- get { return Attributes.CssStyle; }
- }
- [DefaultValue("")]
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- [WebCategory("Appearance")]
- public virtual string TagName
- {
- get { return _tagName; }
- }
- protected override bool ViewStateIgnoresCase
- {
- get {
- return true;
- }
- }
- }
- }
|