原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/09/02/calendar_icon_visible.aspx
[习题]日历(Calendar)控件的障眼法(.Visible属性),使用时才出现?不用就消失?
昨天上课时,学员发问的问题
作法非常简单。
还是透过 .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; //选完日期后,看不见!隐形!
}