1.UCCalendar.ascx
<%@ control Language="vb" AutoEventWireup="false" Codebehind="UCCalendar.aspx.vb" Inherits="WebApplication1.UCCalendar"%>
<FONT face="新細明體">
<script language="javascript">
function CheckDate(o){
var Str=new String;
var StrEnd = new String;
Str = o.value;
if (Str != "" )
{
if (chkformat(Str) == false)
{
o.focus();
}
}
}
function chkformat(datestr)
{
var lthdatestr
lthdatestr= datestr.length ;
var tmpy="";
var tmpm="";
var tmpd="";
//var datestr;
var status;
status=0;
for (i=0;i<lthdatestr;i++){
if (datestr.charAt(i)== '/'){
status++;
}
if (status>2){
alert("日期錯誤");
return false;
}
if ((status==0) && (datestr.charAt(i)!='/')){
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!='/')){
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!='/')){
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
//tempdate= new String (year+month+day);
//alert(tempdate);
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
{
alert("日期錯誤");
// alert("date");
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
{
alert ("日期錯誤");
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
alert ("日期錯誤");
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
alert ("日期錯誤");
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
alert ("日期錯誤");
return false;
}
if ((month==2) && (day==30))
{
alert("日期錯誤");
return false;
}
return true;
}
</script>
<div align="center"><asp:textbox id="txtCalendar" onblur="CheckDate(this)" runat="server" Width="181px"></asp:textbox><asp:button id="btnCandelar" runat="server" Text="...."></asp:button><asp:calendar id="Calendar1" runat="server" Width="208px" Height="200px" BorderWidth="1px" BackColor="White"
ForeColor="#003399" Font-Size="8pt" Font-Names="Verdana" BorderColor="#3366CC" CellPadding="1" ShowGridLines="True">
<TodayDayStyle ForeColor="White" BackColor="#99CCCC"></TodayDayStyle>
<SelectorStyle ForeColor="#336666" BackColor="#99CCCC"></SelectorStyle>
<NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF"></NextPrevStyle>
<DayHeaderStyle Height="1px" ForeColor="#336666" BackColor="#99CCCC"></DayHeaderStyle>
<SelectedDayStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedDayStyle>
<TitleStyle Font-Size="10pt" Font-Bold="True" Height="25px" BorderWidth="1px" ForeColor="#CCCCFF"
BorderStyle="Solid" BorderColor="#3366CC" BackColor="#003399"></TitleStyle>
<WeekendDayStyle BackColor="#CCCCFF"></WeekendDayStyle>
<OtherMonthDayStyle ForeColor="#999999"></OtherMonthDayStyle>
</asp:calendar></div>
</FONT>
2.UCCalendar.ascx.vb
Public Class UCCalendar
Inherits System.Web.UI.UserControl
#Region " Web Form 設計工具產生的程式碼 "
'此為 Web Form 設計工具所需的呼叫。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents Calendar1 As System.Web.UI.WebControls.Calendar
Protected WithEvents txtCalendar As System.Web.UI.WebControls.TextBox
Protected WithEvents btnCandelar As System.Web.UI.WebControls.Button
'注意: 下列預留位置宣告是 Web Form 設計工具需要的項目。
'請勿刪除或移動它。
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此為 Web Form 設計工具所需的方法呼叫
'請勿使用程式碼編輯器進行修改。
InitializeComponent()
End Sub
#End Region
Public Property txtCanendar() As String
Get
Return Me.txtCalendar.Text
End Get
Set(ByVal Value As String)
Me.txtCalendar.Text = Value
End Set
End Property
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在這裡放置使用者程式碼以初始化網頁
End Sub
Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged
Me.txtCalendar.Text = Me.Calendar1.SelectedDate.ToShortDateString
Me.Calendar1.Visible = False
End Sub
Private Sub btnCandelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCandelar.Click
If Me.Calendar1.Visible = True Then
Me.Calendar1.Visible = False
Else
Me.Calendar1.Visible = True
End If
End Sub
End Class
3.