原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/09/02/calendar_icon_visible.aspx
昨天上课时,学员发问的问题
作法非常简单。
还是透过 .Visible属性(现形?隐形),简单的说,就是障眼法!
执行成果如下:
首先,您看不见日历控件。
必须按下「日历小图示」,才会出现日历控件喔!
然后可以点选日历,代替自己输入日期。
日期会自动带入TextBox里面(这个作法,书本上有了)
这个范例完全没有技巧,只要拼拼凑凑就能完成
昨天上课,没有教日历控件,
直接靠「经验」,自己把玩就能做出很多功能。
这种「自我学习」的方式,面对新技术才会轻松......
想知道这些学员「上课第一天」就瞬间提升功力的秘诀吗?......来上课吧!!
ASP.NET控件,让您「做得更多,写得更少」
您也可以利用 jQuery UI做到类似的功能,请看:http://jqueryui.com/datepicker/
(名为 DatePicker)
这里可以找到很多可爱的日历小图示,请看:http://www.iconpng.com/tag/%E5%8F%B0%E5%8E%86
HTML画面设计:
请输入日期:<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True"></asp:TextBox>
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="您找到的小图片"
OnClick="ImageButton1_Click" />
<br />
<br />
<asp:Calendar ID="Calendar1" runat="server" Visible="False"
OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>
(请事先设定Calendar的 .Visible = false,隐形)<br />
<br />
后置程序代码如下:
(VB只要在程序后面,不加 "分号(;)"即可)
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Calendar1.Visible = true; //看得见!现形!
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();
Calendar1.Visible = false; //选完日期后,看不见!隐形!
}