当前文件路径:CalendarWebControl/YYWebControl/YYSimpleCalendar/YYSimpleCalendar.cs 
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Text;
5
using System.Web;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Collections.Specialized;
9
using System.Web.UI.Design;
10
using System.Drawing;
11
using System.Drawing.Design;
12
assembly resources#region assembly resources
13
/**//*QQ:348575892 Email:feiin@qq.com 欢迎高手指正不足之处 51aspx*/
14
[assembly: System.Web.UI.WebResource("YYWebControl.YYSimpleCalendar.Resources.calendar-cn.js", "text/javascript")]
15
[assembly: System.Web.UI.WebResource("YYWebControl.YYSimpleCalendar.Resources.calendar.js", "text/javascript")]
16
[assembly: System.Web.UI.WebResource("YYWebControl.YYSimpleCalendar.Resources.calendar-se.js", "text/javascript")]
17
[assembly: System.Web.UI.WebResource("YYWebControl.YYSimpleCalendar.Resources.calendar-winter.css", "text/css")]
18
19
[assembly:TagPrefix("YYWebControl.YYSimpleCalendar","YYWebControl")]
20
21
#endregion
22
23
namespace YYWebControl.YYSimpleCalendar
24
...{
25
[DefaultProperty("Text")]
26
[ValidationPropertyAttribute("Text")]
27
[ToolboxData("<{0}:YYSimpleCalendar runat=server></{0}:YYSimpleCalendar>")]
28
public class YYSimpleCalendar : WebControl, IPostBackDataHandler
29
...{
30
31
32
控件属性#region 控件属性
33
[Bindable(true)]
34
[Category("扩展")]
35
[DefaultValue("")]
36
[Localizable(true)]
37
[Description("日期值")]
38
public string Text
39
...{
40
get
41
...{
42
String s = (String)ViewState["Text"];
43
return ((s == null) ? String.Empty : s);
44
}
45
46
set
47
...{
48
ViewState["Text"] = value;
49
}
50
}
51
private bool _RealOnly=false;//ReadOnly属性
52
53
54
[Category("扩展")]
55
[Description("设置控件只读属性")]
56
[DefaultValue(false)]
57
public bool ReadOnly
58
...{
59
get
60
...{
61
return _RealOnly;
62
}
63
set
64
...{
65
_RealOnly = value;
66
}
67
}
68
69
#endregion
70
71
实现IPostBackDataHandler#region 实现IPostBackDataHandler
72
public bool LoadPostData(string postDataKey, NameValueCollection postCollection)
73
...{
74
String presentValue = Text;
75
String postedValue = postCollection[this.UniqueID];
76
77
if (presentValue == null || !presentValue.Equals(postedValue))
78
...{
79
Text = postedValue;
80
return true;
81
}
82
83
return false;
84
}
85
86
public virtual void RaisePostDataChangedEvent()
87
...{
88
}
89
#endregion
90
91
重载Render#region 重载Render
92
protected override void Render(HtmlTextWriter writer)
93
...{
94
95
writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);
96
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
97
if (ReadOnly)
98
...{
99
writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly,"ReadOnly");
100
}
101
if (CssClass.Length > 0)
102
...{
103
writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass);
104
}
105
if (ToolTip.Length > 0)
106
...{
107
writer.AddAttribute(HtmlTextWriterAttribute.Title, ToolTip);
108
}
109
writer.AddAttribute(HtmlTextWriterAttribute.Value, this.Text);
110
writer.AddAttribute("onfocus", "return showCalendar('" + this.UniqueID + "', 'y-mm-dd', 'txtTime');");
111
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
112
writer.RenderBeginTag(HtmlTextWriterTag.Input);
113
writer.RenderEndTag();
114
// base.Render(writer);
115
}
116
protected override void OnPreRender(EventArgs e)
117
...{
118
if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "Calendar"))
119
...{
120
System.Web.UI.HtmlControls.HtmlLink link = new System.Web.UI.HtmlControls.HtmlLink();
121
link.Attributes["type"] = "text/css";
122
link.Attributes["rel"] = "stylesheet";
123
link.Attributes["href"] = Page.ClientScript.GetWebResourceUrl(this.GetType(), "YYWebControl.YYSimpleCalendar.Resources.calendar-winter.css");
124
this.Page.Header.Controls.Add(link);
125
126
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Calendar", this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "YYWebControl.YYSimpleCalendar.Resources.calendar.js"));
127
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Calendar_02", this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "YYWebControl.YYSimpleCalendar.Resources.calendar-cn.js"));
128
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "Calendar_03", this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "YYWebControl.YYSimpleCalendar.Resources.calendar-se.js"));
129
}
130
base.OnPreRender(e);
131
}
132
133
#endregion
134
135
}
136
}
137