ASP.NET技巧:为Blog打造个性日历
点击次数:18 次 发布日期:2008-11-26 15:13:38 作者:源代码网
|
源代码网推荐 源代码网推荐 新建一个用户控件,把calender控件拉进来。第一步是外观设置,这个根据你的需要,只需对它的相关属性做一些调整即可。下图是我调整后的界面 源代码网推荐
源代码网推荐 属性设置如下: 源代码网推荐 源代码网推荐 <asp:calendar id="Calendar1" CellPadding="2" Width="160px" TitleStyle-BackColor="#000000" 源代码网推荐 BorderColor="#aaaaaa" 源代码网推荐 DayHeaderStyle-BackColor="#5e715e" 源代码网推荐 OtherMonthDayStyle-ForeColor="#cccccc" 源代码网推荐 DayNameFormat="Full" 源代码网推荐 runat="server" 源代码网推荐 TitleStyle-ForeColor="#ffffff" 源代码网推荐 NextPrevStyle-ForeColor="#ffffff" 源代码网推荐 CellSpacing="1" 源代码网推荐 WeekendDayStyle-BackColor="#eeeeee" 源代码网推荐 DayHeaderStyle-ForeColor="#ffffff" 源代码网推荐 SelectionMode="None" 源代码网推荐 TodayDayStyle-BorderColor="#5e715e" 源代码网推荐 TodayDayStyle-BorderWidth="1" 源代码网推荐 TodayDayStyle-Font-Bold="true" 源代码网推荐 TodayDayStyle-ForeColor="#5e715e" 源代码网推荐 > 源代码网推荐 源代码网推荐 第二步是对内部功能的调整,这个工作主要集中在以下两个事件的处理上。 源代码网推荐 源代码网推荐 PreRender:当服务器控件将要呈现给其包含的Page对象时发生。 源代码网推荐 源代码网推荐 DayRender:当为Calendar控件在控件层次结构中创建每一天时发生。 源代码网推荐 源代码网推荐 先定义三个整型变量和整型数组 源代码网推荐 源代码网推荐 private int[] arrCurrentDays,arrPreDays,arrNextDays; //三个变量分别是当前月,前一月,和下一个月 源代码网推荐 private int intCurrentMonth,intPreMonth,intNextMonth; //三个整型数组存放相对月份写有blog的日期 源代码网推荐 protected System.Web.UI.WebControls.Calendar Calendar1; //这个就是我们的日历控件了 源代码网推荐 源代码网推荐 2. 下面我将分别给出这两个事件的源码,并在下面解释它实现的功能,如果你看不明白,可以先看下面的说明 源代码网推荐 源代码网推荐 PreRender 源代码网推荐 源代码网推荐 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; 源代码网推荐 } 源代码网推荐 源代码网推荐 以上代码改变了星期名称的显示。你只需改变字符数组的值就能改名称显示。 源代码网推荐 源代码网推荐 DayRender 源代码网推荐 源代码网推荐 private void Calendar1_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e) 源代码网推荐 { 源代码网推荐 //该控件在创建每一天时发生。 源代码网推荐 源代码网推荐 CalendarDay d = ((DayRenderEventArgs)e).Day; 源代码网推荐 TableCell c = ((DayRenderEventArgs)e).Cell; 源代码网推荐 } 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
