asp.net Calendar 是微软自带的一款日历控件,除了简单显示日期时间外, 还可以绑定一些需要的事件。 Calendar_DayRender 事件,是在加载都去时间日期时候的方法,用此方法可以在日历对应的每一天上面添加你所需要的事件,下面写一个对应的务实的列子 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { ///当日期不是当前月的时候,就去掉它的日期数(就是在本月显示日期的面板上面不显示上月或者下月的多余日期) if (e.Day.IsOtherMonth) { e.Cell.Controls.Clear(); return; } //给当前每一个日期单元格添加js ononmouseover 事件 e.Cell.Attributes["onmouseover"] = "mouseov()"; ///仅给当前日期添加一个class样式 if (e.Day.Date.ToString("yyyy/MM/dd") == DateTime.Now.ToString("yyyy/MM/dd")) { //today是样式的名称 e.Cell.Attributes["class"] = "today"; } } } 还有一个就是Calendar_PreRender事件,这个事件我是用来做地区日期自动更改的 比如你想要英文日历就按如下方法 protected void Calendar1_PreRender(object sender, System.EventArgs e) { System.Globalization.CultureInfo myinfo = new System.Globalization.CultureInfo("en-US", false); System.Threading.Thread.CurrentThread.CurrentCulture = myinfo; } 如果是中文的话就是将上面的en-US改为zh-cn 在Calendar_PreRender里还可以定义一些其他的属性, for example 星期的名称 private void Calendar1_PreRender(object sender, System.EventArgs e) { Thread threadCurrent = Thread.CurrentThread; CultureInfo ciNew = (CultureInfo)threadCurrent.CurrentCulture.Clone(); ciNew.DateTimeFormat.DayNames = new string[]{"日","一","二","三","四","五","六"}; ciNew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday; threadCurrent.CurrentCulture = ciNew; }
时间: 2024-10-27 19:37:02