/// <param name="postDataKey">控件的主要标识符</param> /// <param name="postCollection">所有传入名称值的集合</param> /// <returns>如果服务器控件的状态在回发发生后更改,则为 true;否则为 false。</returns> public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) { String presentValue = Text; String postedValue = postCollection[postDataKey];
if (presentValue == null !presentValue.Equals(postedValue)) { Text = postedValue; return true; }
return false; }
/// <summary> /// 当由类实现时,用信号要求服务器控件对象通知 ASP.NET 应用程序该控件的状态已更改。 /// </summary> public virtual void RaisePostDataChangedEvent() { OnTextChanged(EventArgs.Empty); }
protected virtual void OnTextChanged(EventArgs e) { if (TextChanged != null) TextChanged(this,e); } #endregion
}
#region 控件设计器 /// <summary> /// 服务器控件设计器。 /// </summary> public class DateDesigner:System.Web.UI.Design.WebControls.PanelDesigner { /// <summary> /// 初始化 PagerDesigner 的新实例。 /// </summary> public DateDesigner() { this.ReadOnly=true; } private JSYNetDate wb;
/// <summary> /// 获取用于在设计时表示关联控件的 HTML。 /// </summary> /// <returns>用于在设计时表示控件的 HTML。</returns> public override string GetDesignTimeHtml() {
wb=(JSYNetDate)Component; wb.Text=""; StringWriter sw=new StringWriter(); HtmlTextWriter writer=new HtmlTextWriter(sw); wb.RenderControl(writer); return sw.ToString(); }
/// <summary> /// 获取在呈现控件时遇到错误后在设计时为指定的异常显示的 HTML。 /// </summary> /// <param name="e">要为其显示错误信息的异常。</param> /// <returns>设计时为指定的异常显示的 HTML。</returns> protected override string GetErrorDesignTimeHtml(Exception e) { string errorstr="创建控件时出错:"+e.Message; return CreatePlaceHolderDesignTimeHtml(errorstr); } } #endregion } ================================== 把以上代码保存为一个文件,如:JSYNetDate.cs 使用csc /t:library /out:..\bin\JSY.dll /r:System.Web.dll /r:System.dll JSYNetDate.cs编译即可 =================================== 请多留宝贵意见,我会继续努力 使用举例 <%@ Register TagPrefix="cc1" Namespace="JSY" Assembly="JSY" %> <%@ Page language="c#"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm1</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <div align="center"><br/><br/><br/><br/><br/>
上一篇:在C#.net中如何操作XML
下一篇:ASP.NET学习过程和对初学者的建议
|