冷风.NET

    ---默默無聞
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

服务器控件之登录控件(无处理事件)

Posted on 2004-10-13 13:32  冷风.net  阅读(646)  评论(1)    收藏  举报

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;

namespace WebFrame
{
 /// <summary>
 /// LoginUI 的摘要描述。
 /// </summary>
 public class LoginUI : Control
 {
  
  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(typeof(Color),""),
  Description("the background color"),
  TypeConverter(typeof(WebColorConverter))
  ]
  public Color BackColor
  {
   get
   {
    object o = ViewState["BackColor"];
    return (o==null)?Color.Empty:(Color)o;
   }
   set
   {
    ViewState["BackColor"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(typeof(Color),""),
  Description("the border color"),
  TypeConverter(typeof(WebColorConverter))
  ]
  public Color BorderColor
  {
   get
   {
    object o = ViewState["BorderColor"];
    return (o==null)?Color.Empty:(Color)o;
   }
   set
   {
    ViewState["BorderColor"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(BorderStyle.NotSet),
  Description("the border style"),
  ]
  public BorderStyle BorderStyle
  {
   get
   {
    object o = ViewState["BorderStyle"];
    return (o==null)?BorderStyle.None:(BorderStyle)o;
   }
   set
   {
    ViewState["BorderStyle"] = value;
   }
  }
  
  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(typeof(Unit),""),
  Description("the border width"),
  ]
  public Unit BorderWidth
  {
   get
   {
    object o = ViewState["BorderWidth"];
    return (o==null)?Unit.Empty:(Unit)o;
   }
   set
   {
    ViewState["BorderWidth"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(""),
  Description("the text to display on the button"),
  ]
  public string ButtonText
  {
   get
   {
    string s = (string)ViewState["ButtonText"];
    return (s==null)?String.Empty:s;
   }
   set
   {
    ViewState["ButtonText"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(""),
  Description("the Font"),
  ]
  public string FontFamily
  {
   get
   {
    string s = (string)ViewState["FontFamily"];
    return ((s==null)?String.Empty:s);
   }
   set
   {
    ViewState["FontFamily"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(typeof(FontUnit),""),
  Description("the size of the font"),
  ]
  public FontUnit FontSize
  {
   get
   {
    object o = ViewState["FontSize"];
    return ((o==null)?FontUnit.Empty:(FontUnit)o);
   }
   set
   {
    ViewState["FontSize"]=value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(false),
  Description("the weight of the font"),
  ]
  public bool FontBold
  {
   get
   {
    object o = ViewState["FontBold"];
    return ((o==null)?false:(bool)o);
   }
   set
   {
    ViewState["FontBold"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(false),
  Description("the labe1 for the name textbox"),
  ]
  public string NameLabel
  {
   get
   {
    string s = (string)ViewState["NameLabel"];
    return ((s==null)?String.Empty:s);
   }
   set
   {
    ViewState["NameLabel"] = value;
   }
  }

  [
  Bindable(true),
  Category("Appearance"),
  DefaultValue(false),
  Description("the labe1 for the password textbox"),
  ]
  public string PassWordLabel
  {
   get
   {
    string s = (string)ViewState["PassWordLabel"];
    return ((s==null)?String.Empty:s);
   }
   set
   {
    ViewState["PassWordLabel"] = value;
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string ButtonID
  {
   get
   {
    return this.ClientID + "_Button";
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string ButtonName
  {
   get
   {
    return this.UniqueID + ":Button";
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string PassWordInputID
  {
   get
   {
    return this.ClientID + "_PassWord";
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string PassWordInputName
  {
   get
   {
    return this.UniqueID + ":PassWord";
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string UserNameInputID
  {
   get
   {
    return this.ClientID + "_UserName";
   }
  }

  [
  Browsable(false),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
  ]
  public string UserNameInputName
  {
   get
   {
    return this.UniqueID + ":UserName";
   }
  }

  protected override void Render(HtmlTextWriter writer)
  {
   writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing,"1");
   if(!BackColor.IsEmpty)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor,ColorTranslator.ToHtml(BackColor));
   }
   if(!BorderColor.IsEmpty)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.BorderColor,ColorTranslator.ToHtml(BorderColor));
   }
   if((BorderStyle != BorderStyle.None) && (BorderStyle != BorderStyle.NotSet))
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.BorderStyle,BorderStyle.ToString());
   }
   if(!BorderWidth.IsEmpty)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth,BorderWidth.ToString(CultureInfo.InvariantCulture));
   }
   if(FontFamily!=String.Empty)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily,FontFamily);
   }
   if(!FontSize.IsEmpty)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize,FontSize.ToString(CultureInfo.InvariantCulture));
   }
   if(FontBold)
   {
    writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight,"Bold");
   }
   writer.AddAttribute(HtmlTextWriterAttribute.Id,this.ClientID);
   writer.RenderBeginTag(HtmlTextWriterTag.Table);
   writer.RenderBeginTag(HtmlTextWriterTag.Tr);
   writer.RenderBeginTag(HtmlTextWriterTag.Td);
   if(NameLabel!=String.Empty)
   {
    writer.Write(NameLabel);
   }
   writer.RenderEndTag(); //td
   writer.RenderBeginTag(HtmlTextWriterTag.Td);
   writer.AddAttribute(HtmlTextWriterAttribute.Type,"Text");
   writer.AddAttribute(HtmlTextWriterAttribute.Name,UserNameInputName);
   writer.AddAttribute(HtmlTextWriterAttribute.Id,UserNameInputID);
   writer.AddAttribute(HtmlTextWriterAttribute.Value,String.Empty);
   writer.RenderBeginTag(HtmlTextWriterTag.Input);
   writer.RenderEndTag(); //input
   writer.RenderEndTag(); //td
   writer.RenderEndTag(); //tr
   writer.RenderBeginTag(HtmlTextWriterTag.Tr);
   writer.RenderBeginTag(HtmlTextWriterTag.Td);
   if(PassWordLabel!=String.Empty)
   {
    writer.Write(PassWordLabel);
   }
   writer.RenderEndTag(); //td
   writer.RenderBeginTag(HtmlTextWriterTag.Td);
   writer.AddAttribute(HtmlTextWriterAttribute.Type,"PassWord");
   writer.AddAttribute(HtmlTextWriterAttribute.Name,PassWordInputName);
   writer.AddAttribute(HtmlTextWriterAttribute.Id,PassWordInputID);
   writer.AddAttribute(HtmlTextWriterAttribute.Value,String.Empty);
   writer.RenderBeginTag(HtmlTextWriterTag.Input);
   writer.RenderEndTag(); //input
   writer.RenderEndTag(); //td
   writer.RenderEndTag(); //tr
   writer.RenderBeginTag(HtmlTextWriterTag.Tr);
   writer.AddAttribute(HtmlTextWriterAttribute.Colspan,"2");
   writer.AddAttribute(HtmlTextWriterAttribute.Align,"right");
   writer.RenderBeginTag(HtmlTextWriterTag.Td);
   writer.AddAttribute(HtmlTextWriterAttribute.Type,"submit");
   writer.AddAttribute(HtmlTextWriterAttribute.Name,ButtonName);
   writer.AddAttribute(HtmlTextWriterAttribute.Id,ButtonID);
   writer.AddAttribute(HtmlTextWriterAttribute.Value,ButtonText);
   writer.RenderBeginTag(HtmlTextWriterTag.Input);
   writer.RenderEndTag(); //input
   writer.RenderEndTag(); //td
   writer.RenderEndTag(); //tr
   writer.RenderEndTag(); //table
  }

 }
}
<%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%>
<%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%><%@ Register TagPrefix="Login" Namespace="WebFrame" Assembly="WebFrame"%>