简单服务器端控件 Simple Server Control
2009-11-11 15:54
183 查看
Code
namespace CustomTextBox
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
public class MyTextBox : WebControl,IPostBackDataHandler
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? "[" + this.ID + "]" : s);
}
set
{
ViewState["Text"] = value;
}
}
public MyTextBox()
: base(HtmlTextWriterTag.Input)
{
Text = "";
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("type", "text");
writer.AddAttribute("name", this.UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
writer.AddAttribute("ondblclick", Page.GetPostBackEventReference(this, string.Empty));
base.AddAttributesToRender(writer);
}
protected override void RenderContents(HtmlTextWriter writer)
{
base.RenderContents(writer);
}
// 返回结果:
// 如果服务器控件的状态由于回发而发生更改,则为 true;否则为 false。
public bool LoadPostData(string postDataKey, NameValueCollection postCollection) {
string postedVal = postCollection[postDataKey];
string strText = Text;
if (strText != postedVal)
{
Text = postedVal;
return true;
}
return false;
}
public event EventHandler TextChanged;
protected virtual void OnTextChanged( EventArgs e)
{
if (TextChanged != null)
{
TextChanged(this, e);
}
}
public void RaisePostDataChangedEvent() {
OnTextChanged( new EventArgs());
}
}
}
namespace CustomTextBox
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
public class MyTextBox : WebControl,IPostBackDataHandler
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? "[" + this.ID + "]" : s);
}
set
{
ViewState["Text"] = value;
}
}
public MyTextBox()
: base(HtmlTextWriterTag.Input)
{
Text = "";
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("type", "text");
writer.AddAttribute("name", this.UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
writer.AddAttribute("ondblclick", Page.GetPostBackEventReference(this, string.Empty));
base.AddAttributesToRender(writer);
}
protected override void RenderContents(HtmlTextWriter writer)
{
base.RenderContents(writer);
}
// 返回结果:
// 如果服务器控件的状态由于回发而发生更改,则为 true;否则为 false。
public bool LoadPostData(string postDataKey, NameValueCollection postCollection) {
string postedVal = postCollection[postDataKey];
string strText = Text;
if (strText != postedVal)
{
Text = postedVal;
return true;
}
return false;
}
public event EventHandler TextChanged;
protected virtual void OnTextChanged( EventArgs e)
{
if (TextChanged != null)
{
TextChanged(this, e);
}
}
public void RaisePostDataChangedEvent() {
OnTextChanged( new EventArgs());
}
}
}
相关文章推荐
- 简单服务器端控件 Simple Server Control
- HtmlControl 和 服务器端控件 和 运行在服务器端的htmlcontrol (runat=server) 的区别
- Simple server side cache for Express with Node.js——Express 实现简单的服务器端缓存【翻译】
- Ajax Control Toolkit 34个服务器端控件(一)
- Tab Control控件简单使用
- 【最新整理版】细数Ajax Control Toolkit 34个服务器端控件
- .net 服务器端自定义分页控件 简单示例
- js(JQuery) 设置servercontrol(服务器控件)的text属性
- DelegateControl:SharePoint Server 2007内置的一个用户控件包装器
- 一点小注意:为Html Server控件添加客户端和服务器端的Event Handler
- ASP.NET2.0中Tabs的简单实现 不用Asp.net Ajax ControlToolKit中的Tabs控件实现Tabs效果的简单实现方法:
- Tab Control控件简单使用
- Ajax Control Toolkit 34个服务器端控件第1/2页
- 细数Ajax Control Toolkit 1.0 正式版32个服务器端控件
- .net2.0 Web WhtPager/WhtWebControl 分页控件 简单好用
- Ajax Control Toolkit 34个服务器端控件(1)
- monitor weblogic server ,Very simple to use, weblogic监控、巡检、故障简单小工具
- Ajax Control Toolkit MutuallyExclusiveCheckBox 服务器端控件
- Ajax Control Toolkit 34个服务器端控件
- 细数Ajax Control Toolkit 34个服务器端控件