Category("布局"), DefaultValue("YMD")] public string DateFormat { get { return (ViewState["DateFormat"]==null)?"YMD":(string)ViewState["DateFormat"]; }
set { ViewState["DateFormat"]=value; } } /// <summary> /// 获取/设置日期值能否编辑。 /// </summary> [Browsable(true), Description("能否编辑"), Category("行为"), DefaultValue(true)] public override bool Enabled { get { return (ViewState["Enabled"]==null)?true:false; }
set { if (!value) ViewState["Enabled"]=false; } } /// <summary> /// 获取/设置日期值中可供选择的年份长度。 /// </summary> [Browsable(true), Description("日期值中可供选择的年份长度"), Category("布局"), DefaultValue(100)] public int Length { get { object obj=ViewState["Length"]; return (obj==null)?100:(int)obj; }
set { ViewState["Length"]=value; } } /// <summary> /// 获取/设置选择年份的结束值。 /// </summary> [Browsable(true), Description("日期值中选择结束年份,当小于100时表示距今年数"), Category("布局"), DefaultValue(0)] public int End { get { object obj=ViewState["End"]; int y; if (obj==null) { y=System.DateTime.Today.Year; } else { y=(int)obj; if (y<100) { y=System.DateTime.Today.Year+y; } } return y; }
set { ViewState["End"]=value; } } /// <summary> /// 获取选择年份的开始值。 /// </summary> [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int Start { get{return End-Length;} }
#endregion #region 重写事件 /// <summary> /// 重写OnLoad 方法。 /// </summary> /// <param name="e">包含事件数据的 <see cref="EventArgs"/> 对象。</param> protected override void OnLoad(EventArgs e) { if (Page.IsPostBack) { string y=Page.Request.Form[this.UniqueID+"_year"]; string m=Page.Request.Form[this.UniqueID+"_month"]; string d=Page.Request.Form[this.UniqueID+"_day"]; switch (DateFormat) { case "YMD": if (y=="" m=="" d=="") { Text=""; } else { Text=y+"-"+m+"-"+d; } break; case "YM": if (y=="" m=="") { Text=""; } else { Text=y+"-"+m; } break; case "Y": if (y=="") { Text=""; } else { Text=y; } break; } } base.OnLoad(e); } /// <summary> /// 重写<see cref="System.Web.UI.WebControls.WebControl.AddAttributesToRender"/> 方法,验证是否有form(runat=server)控件
上一篇:在C#.net中如何操作XML
下一篇:ASP.NET学习过程和对初学者的建议
|