您目前尚未登陆,请选择【登陆】或【注册
首页->控件插件->51aspx日期控件演示及源码>>Calendar/Calendar/Calendar.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:51aspx日期控件演示及源码


当前文件路径:CalendarDemo/Calendar/Calendar/Calendar.cs 文件类型
普通视图
		            
1//璇ユ簮鐮佷笅杞借嚜www.51aspx.com(锛曪紤锝侊綋锝愶綐锛庯絻锝忥綅) 2//51aspx浣滃搧锛岃浆杞借淇濈暀浣滆呬俊鎭? 3namespace Calendar51aspx 4{ 5 using System; 6 using System.Collections.Specialized; 7 using System.ComponentModel; 8 using System.Text; 9 using System.Web.UI; 10 11 [ToolboxData("<{0}:Calendar runat=server></{0}:Calendar>"), Designer(typeof(CalendarDesigner)), DefaultProperty("Text")] 12 public class Calendar : Control, IPostBackDataHandler 13 { 14 public static string _DATETIMEPICKER_WIDTH = "156"; 15 private string text; 16 17 protected override void CreateChildControls() 18 { 19 this.Page.RegisterClientScriptBlock("CalendarCss", "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + this.CalendarResource + "Calendar.css\">"); 20 } 21 22 public virtual bool LoadPostData(string postDataKey, NameValueCollection values) 23 { 24 string value = values[this.UniqueID]; 25 this.Value = value; 26 return false; 27 } 28 29 public virtual void RaisePostDataChangedEvent() 30 { 31 } 32 33 protected override void Render(HtmlTextWriter output) 34 { 35 StringBuilder sb = new StringBuilder(); 36 DatePickerMode mode = DatePickerMode.Date; 37 mode = this.CalendarMode; 38 string year = ""; 39 string month = ""; 40 string day = ""; 41 string hour = ""; 42 string minute = ""; 43 if (this.Value != "") 44 { 45 try 46 { 47 DateTime date = DateTime.Parse(this.Value); 48 year = date.Year.ToString(); 49 month = date.Month.ToString(); 50 day = date.Day.ToString(); 51 hour = date.Hour.ToString(); 52 minute = date.Minute.ToString(); 53 } 54 catch 55 { 56 year = ""; 57 month = ""; 58 day = ""; 59 hour = ""; 60 minute = ""; 61 } 62 } 63 if ((mode & DatePickerMode.Date) == DatePickerMode.Date) 64 { 65 string dpID = this.UniqueID + "DateTimePicker"; 66 this.Page.RegisterStartupScript("DatePickerScript", "<script language=\"javascript\">var _DatePickerCssPath='" + this.CalendarResource + "Calendar.css';\nvar _DatePickerImagePath='" + this.CalendarResource + "';</script>\n<script language=\"javascript\" src=\"" + this.CalendarResource + "Calendar.js\"></script><IFRAME id=iFrmCalendar name=iFrmCalendar style='display:none'></IFRAME>"); 67 sb.Append("<span class=DPFrame id=\"" + dpID + "\" style=\""); 68 if ((mode & DatePickerMode.Time) == DatePickerMode.Time) 69 { 70 sb.Append("width:" + _DATETIMEPICKER_WIDTH + ";"); 71 } 72 sb.Append((this.Display ? "" : " display:none") + ";"); 73 sb.Append("\">\n"); 74 sb.Append("<input" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_year\" name=\"" + this.UniqueID + "_year\" class=DPYear type=text value=\"" + year + "\" size=4 maxlength=4 onfocus=\"return dp_focus('year');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('year');\" onchange=\"dp_change();\" onblur=\"dp_blur();\">\n"); 75 sb.Append("<span class='DPSpan'>-</span>"); 76 sb.Append("<input" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_month\" name=\"" + this.UniqueID + "_month\" class=DPMonth type=text value=\"" + month + "\" size=2 maxlength=2 onfocus=\"return dp_focus('month');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('month');\" onchange=\"dp_change();\" onblur=\"dp_blur();\">\n"); 77 sb.Append("<span class='DPSpan'>-</span>"); 78 sb.Append("<input" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_day\" name=\"" + this.UniqueID + "_day\" class=DPDay type=text value=\"" + day + "\" size=2 maxlength=2 onfocus=\"return dp_focus('day');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('day');\" onchange=\"dp_change();\" onblur=\"dp_blur();\">\n"); 79 sb.Append(""); 80 if ((mode & DatePickerMode.Time) == DatePickerMode.Time) 81 { 82 sb.Append("<span class='DPSpan'> </span>"); 83 sb.Append("<input" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_hour\" name=\"" + this.UniqueID + "_hour\" class=DPMonth type=text value=\"" + hour + "\" size=2 maxlength=2 onfocus=\"return dp_focus('hour');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('hour');\" onchange=\"dp_change();\" onblur=\"dp_blur();\">\n"); 84 sb.Append("<span class='DPSpan'>:</span>"); 85 sb.Append("<input" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_minute\" name=\"" + this.UniqueID + "_minute\" class=DPMonth type=text value=\"" + minute + "\" size=2 maxlength=2 onfocus=\"return dp_focus('minute');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('minute');\" onchange=\"dp_change();\" onblur=\"dp_blur();\">\n"); 86 } 87 sb.Append("<span class=DPSep></span>\n"); 88 sb.Append("<img" + (this.ReadOnly ? " disabled" : "") + " class=\"DPimg\" src=\"" + this.CalendarResource + "Calendar.gif\" onclick=\"GetCalendar(this,'" + this.ClientID + "'); return false;\" title=\"鐐瑰嚮閫夋嫨鏃ユ湡\">\n"); 89 sb.Append("<input type=hidden value='" + this.Value + "' id=\"" + this.UniqueID + "\" name=\"" + this.UniqueID + "\">\n"); 90 sb.Append("</span>\n"); 91 } 92 else if ((mode & DatePickerMode.Time) == DatePickerMode.Time) 93 { 94 sb.Append("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\""); 95 sb.Append("\"" + (this.Display ? "" : "style=display:none") + ";"); 96 sb.Append("\">"); 97 sb.Append("<tr><td><select" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "\" name=\"" + this.UniqueID + "\" style=\"width:50px;\">"); 98 for (int i = -1; i < 0x18; i++) 99 { 100 if (i == -1) 101 { 102 sb.Append("<option value=\"\">&nbsp;</option>"); 103 } 104 else 105 { 106 sb.Append("<option value=\"" + i + "\""); 107 if (hour == i.ToString()) 108 { 109 sb.Append(" selected"); 110 } 111 sb.Append(">" + i + "</option>"); 112 } 113 } 114 sb.Append("</select>&nbsp;"); 115 sb.Append("<select" + (this.ReadOnly ? " disabled" : "") + " id=\"" + this.UniqueID + "_Minute\" name=\"" + this.UniqueID + "_Minute\" style=\"width:50px;\">"); 116 for (int j = -1; j < 12; j++) 117 { 118 if (j == -1) 119 { 120 sb.Append("<option value=\"\">&nbsp;</option>"); 121 } 122 else 123 { 124 int k = j * 5; 125 string ks = (k < 10) ? ("0" + k.ToString()) : k.ToString(); 126 sb.Append("<option value=\":" + ks + "\""); 127 if (minute == ks) 128 { 129 sb.Append(" selected"); 130 } 131 sb.Append(">:" + ks + "</option>"); 132 } 133 } 134 sb.Append("</select>"); 135 sb.Append("</td></tr></table>"); 136 } 137 output.Write(sb.ToString()); 138 } 139 140 [Browsable(true), Category("Calendar"), Description("璁剧疆鎴栬幏鍙栨棩鍘嗘帶浠剁殑鏄剧ず鏍峰紡")] 141 public DatePickerMode CalendarMode 142 { 143 get 144 { 145 if (this.ViewState["CalendarMode"] == null) 146 { 147 return DatePickerMode.Date; 148 } 149 return (DatePickerMode) this.ViewState["CalendarMode"]; 150 } 151 set 152 { 153 this.ViewState["CalendarMode"] = value; 154 } 155 } 156 157 [Browsable(true), Category("Calendar"), Description("璁剧疆鎴栬幏鍙栨棩鍘嗘帶浠跺紩鐢ㄧ殑璧勬簮(鍥剧墖,鏍峰紡琛ㄦ枃浠?鍙奐avascript鑴氭湰鏂囦欢)鐨勮矾寰?浠ュ弽鏂滄潬缁撴潫")] 158 public string CalendarResource 159 { 160 get 161 { 162 if (this.ViewState["CalendarResource"] != null) 163 { 164 return this.ViewState["CalendarResource"].ToString(); 165 } 166 return "51aspxResource/"; 167 } 168 set 169 { 170 this.ViewState["CalendarResource"] = value; 171 } 172 } 173 174 [Browsable(true), Description("璁剧疆鎴栬幏鍙栨棩鍘嗘帶浠舵槸鍚︽樉绀?), Category("Calendar")] 175 public bool Display 176 { 177 get 178 { 179 if (this.ViewState["_Display"] != null) 180 { 181 return bool.Parse(this.ViewState["_Display"].ToString()); 182 } 183 return true; 184 } 185 set 186 { 187 this.ViewState["_Display"] = value; 188 } 189 } 190 191 [Description("璁剧疆鎴栬幏鍙栨棩鍘嗘帶浠剁殑鍙灞炴?), Category("Calendar"), Browsable(true)] 192 public bool ReadOnly 193 { 194 get 195 { 196 return ((this.ViewState["ReadOnly"] != null) && bool.Parse(this.ViewState["ReadOnly"].ToString())); 197 } 198 set 199 { 200 this.ViewState["ReadOnly"] = value; 201 } 202 } 203 204 [DefaultValue(""), Bindable(true), Category("Appearance")] 205 public string Text 206 { 207 get 208 { 209 return this.text; 210 } 211 set 212 { 213 this.text = value; 214 } 215 } 216 217 [Category("Calendar"), Browsable(true), Description("璁剧疆鎴栬幏鍙栨棩鍘嗘帶浠剁殑鍊?)]