Literal控件与TextBox控件结合的自定义复合控件。

类别:Asp 点击:0 评论:0 推荐:

本控件主要解决了自定义复合控件中,客户端验证脚本。
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace Only.CompositionControls
{
 /// <summary>
 /// Create By liyi。
 /// Date:2004-10-10
 /// </summary>
 [DefaultProperty("Value"),ValidationPropertyAttribute("Value"),ToolboxData("<{0}:LiteralTextBox runat=server></{0}:LiteralTextBox>")]
 public class LiteralTextBox:Control,INamingContainer
 {
  //以下脚本用于从文本框输入页码
  [DefaultValue("Text:"),Category("自定义")]
  public string Text
  {
   get
   {
    this.EnsureChildControls();
    return ((LiteralControl)Controls[0]).Text;
   }
   set
   {
    this.EnsureChildControls();
    ((LiteralControl)Controls[0]).Text = value;
   }
  }
  [DefaultValue("Value"),Category("自定义")]
  public string Value
  {
   get
   {
    this.EnsureChildControls();
    return ((TextBox)Controls[1]).Text;
   }
   set
   {
    this.EnsureChildControls();
    ((TextBox)Controls[1]).Text = value;
   }
  }
  [DefaultValue(""),Category("自定义")]
  public Unit Width
  {
   get
   {
    this.EnsureChildControls();
    return ((TextBox)Controls[1]).Width;
   }
   set
   {
    this.EnsureChildControls();
    ((TextBox)Controls[1]).Width = value;
   }
  }
  [DefaultValue(TextBoxMode.SingleLine),Category("自定义")]
  public TextBoxMode TextMode
  {
   get
   {
    this.EnsureChildControls();
    return ((TextBox)Controls[1]).TextMode;
   }
   set
   {
    this.EnsureChildControls();
    ((TextBox)Controls[1]).TextMode = value;
   }
  }
  [DefaultValue(BorderStyle.NotSet),Category("自定义")]
  public BorderStyle BorderStyle
  {
   get
   {
    this.EnsureChildControls();
    return ((TextBox)Controls[1]).BorderStyle;
   }
   set
   {
    this.EnsureChildControls();
    ((TextBox)Controls[1]).BorderStyle = value;
   }
  }
  [DefaultValue(""),Category("自定义")]
  public Unit BorderWidth
  {
   get
   {
    this.EnsureChildControls();
    return ((TextBox)Controls[1]).BorderWidth;
   }
   set
   {
    this.EnsureChildControls();
    ((TextBox)Controls[1]).BorderWidth = value;
   }
  }
  protected override void CreateChildControls()
  {
   this.Controls.Add(new LiteralControl("Text:"));

   TextBox box = new TextBox();
   box.Text = "Value";
   box.ID = "Only";
   this.Controls.Add(box);
  }
 }
}

本文地址:http://com.8s8s.com/it/it8409.htm