加载中...
QQ群:3790902 | 设为首页 | 加入收藏 | sitemap |
 
初级 程序员 网管员 信处技 电商技 中级 数工 软测 监理师 多媒体设计师 软设 信息系统管理 嵌入式 电商设 网工 系统集成 高级 系统分析 网络规划 项目管理 系统架构
数据库 操作系统 数据结构 软件工程 计算机系统 语言 网络 多媒体 标准化 计算机图形学 电子商务 数据挖掘 编译原理 信号处理
VB C\C++ Java ASP PHP JSP Access MSSQL Mysql Oracle DB2 Sybase Delphi 片上系统
Ajax .net Perl Pascal ODS XML 云计算 P2P 工作流 快速工具 设计模式 异构数据 统一过程 软件架构
供应链 ERP CRM UML CMM J2EE 中间件 EAI 产品线 商业智能 极限编程 多核技术 外包ASP SOA
PB WEB Service WSDL UDDI SOAP TSP 虚拟化 AOP SaaS 论文 网格计算 普适计算 敏捷方法 RIA

ASP.NET技巧:为Blog打造个性日历

2008-8-13 21:22:48 不详 佚名 【字体:

核心提示:  日历控件是.net自带的控件之一,功能强大,在很多项目开发中都有用到,对于blog系统来说更是必不可少。纵是好玉也仍需雕琢,为了使它更美观实用,我们还需要对它进行二次开发。  新建一个用
  日历控件是.net自带的控件之一,功能强大,在很多项目开发中都有用到,对于blog系统来说更是必不可少。纵是好玉也仍需雕琢,为了使它更美观实用,我们还需要对它进行二次开发。

  新建一个用户控件,把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;
}


相关阅读:

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
上一篇文章:GridView根据值的变化改变行列样式
下一篇文章:ASP.NET中使用MD5和SHA1算法加密

网友评论:


返回顶部
热门文章
图文信息
ACCESS开发教程第3章第3节 javascript语言实现时钟显示
ASP.NET移动开发之SelectionList控件 ACCESS开发教程第2章第5节
进入论坛论坛热帖