本控件主要解决了自定义复合控件中,客户端验证脚本。
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);
}
}
}