首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.net 提供了日历控件 .该如何解决

2012-01-07 
..net 提供了日历控件 .....net提供了日历控件,例如asp:calendarid Calendar1 /asp:calendar就够成

..net 提供了日历控件 ....
.net   提供了日历控件,例如
<asp:calendar   id= "Calendar1 "> </asp:calendar>
就够成了网页上一个日历.
但现在我想日历上显示的数字可以点击的.
如:   2007年3月28   日,对应的连接是 <a   href=xxx.aspx?date=2007/3/28> 对应天数 </a>

像博客里的日历一样可以点击的.如何实现?


[解决办法]
期待
[解决办法]
SelectionChanged事件
获取当前点击的时间Calendar1.SelectedDate.Date.ToString( "yyyy/MM/dd ")
[解决办法]
SelectionChanged事件
[解决办法]
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { e.Cell.Text = " <a href= 'aa.aspx?date= " + e.Day.Date.ToString( "yyyy-MM-dd ") + " '> " + e.Day.DayNumberText + " </a> "; }
[解决办法]
<asp:Calendar ID= "Calendar1 " runat= "server " OnDayRender= "Calendar1_DayRender "> </asp:Calendar>

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date.Date.Equals(new DateTime(2007, 4, 28)))
{
HtmlAnchor lnk = new HtmlAnchor();
lnk.HRef = "xxx.aspx?date= " + e.Day.Date.ToString( "yyyy/MM/dd ");
lnk.InnerText = e.Day.DayNumberText;
e.Cell.Controls.Clear();
e.Cell.Controls.Add(lnk);
}
}
[解决办法]
你可以做自己的修饰,例如:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date.Date.Equals(new DateTime(2007, 4, 28)))
{
HtmlAnchor lnk = new HtmlAnchor();
lnk.HRef = "xxx.aspx?date= " + e.Day.Date.ToString( "yyyy/MM/dd ");
lnk.InnerText = e.Day.DayNumberText;
e.Cell.Controls.Clear();
e.Cell.Controls.Add(lnk);
lnk.Style[ "color "] = "red ";
lnk.Style[ "font-size "] = "large ";
}
}

实际上,如果是开发一个日程软件,直接在日期格子内显示任务列表等。复杂的系统是开发一些ascx提供集成好了的内容应用系统,然后根据需要装载不同的内容控件。不是像这里实例化 HtmlAnchor 控件这样想到哪里写到哪里。

热点排行