关于Blog日历的做法
来源:互联网 发布:mysql当前时间减一年 编辑:程序博客网 时间:2024/04/29 22:25
昨天有朋友问我,如果在blog中实现日历效果?
如果当天有日志,则显示链接,否则不显示链接?
如果只是单纯使用.net中的Calendar控件、不用js来写,能实现么?
答案是肯定的,那么如何去实现呢?
首先,我们知道.net中的服务器控件是会进行Postback的,Calendar控件中的第一天在点击时,就会进行一次postback
我们要做的就是改变它默认的链接,使它不触发postback事件,其次,就是要知道当天有没有日志。
至于有没有日志,就要去数据库查询了。
原始的Calendar效果:
在点击每一天时,实际上执行的是一段js,然后进行了postback
在Calendar中有一个DayRender事件,该事件在呈现每一天时触发,我们可以从这里入手
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date == DateTime.Now.Date)
{
e.Cell.Text = "<b>" + e.Day.Date.Day + "</b>";
}
else
e.Cell.Text = "<em>" + e.Day.Date.Day + "</em>";
}
上面的代码很明了了,如果在呈现每一天时,发现该天刚好是今天,则将内容重写,写成加粗的日,同时,去掉了链接。
否则,则以<em>日</em>来显示
至于给有日志的那天加链接,就不用我说了吧。
如果当天有日志,则显示链接,否则不显示链接?
如果只是单纯使用.net中的Calendar控件、不用js来写,能实现么?
答案是肯定的,那么如何去实现呢?
首先,我们知道.net中的服务器控件是会进行Postback的,Calendar控件中的第一天在点击时,就会进行一次postback
我们要做的就是改变它默认的链接,使它不触发postback事件,其次,就是要知道当天有没有日志。
至于有没有日志,就要去数据库查询了。
原始的Calendar效果:
在点击每一天时,实际上执行的是一段js,然后进行了postback
在Calendar中有一个DayRender事件,该事件在呈现每一天时触发,我们可以从这里入手
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date == DateTime.Now.Date)
{
e.Cell.Text = "<b>" + e.Day.Date.Day + "</b>";
}
else
e.Cell.Text = "<em>" + e.Day.Date.Day + "</em>";
}
上面的代码很明了了,如果在呈现每一天时,发现该天刚好是今天,则将内容重写,写成加粗的日,同时,去掉了链接。
否则,则以<em>日</em>来显示
至于给有日志的那天加链接,就不用我说了吧。
- 关于Blog日历的做法
- 关于Blog日历的做法
- 关于Blog日历的做法
- [sql server] 日历做法
- [sql server] 日历做法
- 关于集合类的做法!
- 关于网线的标准做法!
- 关于窗体透明的做法
- 关于窗体透明的做法
- 关于git的patch做法
- 关于图片自适应的做法
- 关于中国日历部分算法---摘自别人Blog
- 关于工作日历的思考
- 关于Jquery的日历控件
- Android 关于日历的搭建
- Android关于日历的开源库
- java关于日历的运算
- U3D关于抛物线的轨迹的做法
- 交换机CAM表端口转发攻击--研究及实现
- PMP的一个新术语:关键链法
- 武汉世佳一级代理台达变频器
- 倪光南:中国软件内需优势明显 是关键产业(转载)
- 用cppunit进行单元测试
- 关于Blog日历的做法
- VC++中MFC窗口对象的清除
- Rose与PowerDesigner:两款建模工具对比分析比较
- JavaScript密码强度检测源代码
- 台达变频器VFD-B系列
- C#2.0全能数据库组件 (通俗易懂)
- Unit testing with CPPUnit
- iframe基本属性
- 漫谈SQL Server标识列