我想做一个让用户可以根据calendar控件中的日期查看当天是否有文章的功能,就像博客园中的博客,比如这个:
http://www.cnblogs.com/ma6174/archive/2011/12/08/2280962.html
比如这天:2011-10-1有文章,则此日期显示为超链接,否则显示为普通文本.
我通过DayRender事件来处理显示,代码如下
但是这个方法好像只能正常显示第一个日期的链接.比如 1号和2号都有一篇文章,但是1号的显示为超链接,2号的就不能显示为超链接.把1号的删除掉之后,2号就可以显示为超链接请问该怎么做呢?
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
DateTime date = e.Day.Date; if (list != null)
{
foreach (Article article in list)
{
if (article.aCreateTime.Date.Equals(date.Date))
{
e.Cell.Text = "<a href=\"ArticleList.aspx?date=" + Server.UrlEncode(date.Date.ToString()) + "&aClassId=" + classId + "\">" + e.Day.Date.Day.ToString() + "</a>";
}
else
{
e.Cell.Text = e.Day.Date.Day.ToString();
}
}
}
else
e.Cell.Text = e.Day.Date.Day.ToString();
}
http://www.cnblogs.com/ma6174/archive/2011/12/08/2280962.html
比如这天:2011-10-1有文章,则此日期显示为超链接,否则显示为普通文本.
我通过DayRender事件来处理显示,代码如下
但是这个方法好像只能正常显示第一个日期的链接.比如 1号和2号都有一篇文章,但是1号的显示为超链接,2号的就不能显示为超链接.把1号的删除掉之后,2号就可以显示为超链接请问该怎么做呢?
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
DateTime date = e.Day.Date; if (list != null)
{
foreach (Article article in list)
{
if (article.aCreateTime.Date.Equals(date.Date))
{
e.Cell.Text = "<a href=\"ArticleList.aspx?date=" + Server.UrlEncode(date.Date.ToString()) + "&aClassId=" + classId + "\">" + e.Day.Date.Day.ToString() + "</a>";
}
else
{
e.Cell.Text = e.Day.Date.Day.ToString();
}
}
}
else
e.Cell.Text = e.Day.Date.Day.ToString();
}
解决方案 »
- 如何更新SQL数据库二进制图片?
- 遍历文件夹,有10万张图片,把地址插入mysql中,用什么方法快。
- 请教:想做一个水晶报表,但不显数据。有谁具体教一下怎么做???
- 窗口A 打开 窗口B,如何在B 中的刷新窗口A中的Tree呢?
- 求WORD文档导出PDF的代码
- 多表查询问题~~
- 求Microsoft Visual Studio .NET 2003 七CD下载地址呀
- C# 中DataTable 对象最多可存放多少行?
- 求高效的随机数产生算法(在线等)
- 关于页面传值出现的奇怪问题,急等解决!!!!!!!!!!!
- 【讨论】简单规则的字符串处理,是否应该使用正则
- ASP.NET怎样把datalist里面的时间排序啊!!
{
if(Array.IndexOf(你的文章日期集合,e.Day.Date)>-1)
e.Cell.Text="设置为超链接;
else
e.Cell.Text = e.Day.Date.Day.ToString();
}
也就是说如果你的文章日期集合中存在e.Day.Date的,就设置该Cell为超链接格式。
e.Day.Date.ToString("yyyy-MM-dd")跟 你文章日期集合中的日期.ToString("yyyy-MM-dd")
相比。