日曆控件

网络整理 - 08-09
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)== ''http://www.cuoxin.com/''){
status++;
}
if (status>2){
alert("日期錯誤");
return false;
}
if ((status==0) && (datestr.charAt(i)!=''http://www.cuoxin.com/'')){
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!=''http://www.cuoxin.com/'')){
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!=''http://www.cuoxin.com/'')){
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.