日曆控件

类别:Asp 点击:0 评论:0 推荐:

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.

本文地址:http://com.8s8s.com/it/it8047.htm