asp.net笔记Calender日历控件使用方法

最简单的做是可以如下

1、新建一个aspx页面,把calender控件拉进来。 
2、第一步是外观设置,这个根据你的需要,只需对它的相关属性做一些调整即可。可以调整如下图:

属性设置如下:

 代码如下 复制代码

  <asp:calendar id="Calendar1" CellPadding="2" Width="160px" TitleStyle-BackColor="#000000"      
    BorderColor="#aaaaaa"
    DayHeaderStyle-BackColor="#5e715e"
    OtherMonthDayStyle-ForeColor="#cccccc"
    DayNameFormat="Full"
    runat="server"
    TitleStyle-ForeColor="#ffffff"
    NextPrevStyle-ForeColor="#ffffff"
    CellSpacing="1"
    WeekendDayStyle-BackColor="#eeeeee"
    DayHeaderStyle-ForeColor="#ffffff"
    SelectionMode="None"
    TodayDayStyle-BorderColor="#5e715e"
    TodayDayStyle-BorderWidth="1"
    TodayDayStyle-Font-Bold="true"
    TodayDayStyle-ForeColor="#5e715e"
/>

第二步是对内部功能的调整,这个工作主要集中在以下事件的处理上。

 代码如下 复制代码

  
PreRender:当服务器控件将要呈现给其包含的Page对象时发生。

private void Calendar1_PreRender(object sender, System.EventArgs e)
  {
   Thread threadCurrent = Thread.CurrentThread;
   CultureInfo ciNew = (CultureInfo)threadCurrent.CurrentCulture.Clone();
   ciNew.DateTimeFormat.DayNames = new string[]{"日","一","二","三","四","五","六"};
   ciNew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday;
   threadCurrent.CurrentCulture = ciNew;
  }

例2

前台:

 代码如下 复制代码
<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
     <div>
        <asp:TextBox ID="TextBox1" runat="server" Width="130px"></asp:TextBox>
        <asp:ImageButton ID="ImageButton1" runat="server" Width="25px" Height="25px"
            ImageUrl="~/Calender.png" onclick="ImageButton1_Click" />
        <br />
         <div id="LayerCC" style="left: 167px; width: 220px; position: absolute; top: 40px;
                height: 191px; background-color: white" visible="false" runat="server">
        <asp:Calendar ID="Calendar1" runat="server" BackColor="#FFFFCC"
            BorderColor="#FFCC66" BorderWidth="1px" DayNameFormat="Shortest"
            Font-Names="Verdana" Font-Size="8pt" ForeColor="#663399" Height="200px"
            ShowGridLines="True" Width="220px"
                 onselectionchanged="Calendar1_SelectionChanged">
            <DayHeaderStyle BackColor="#66CCFF" Font-Bold="True" Height="1px" />
            <DayStyle BackColor="#CCFFFF" />
            <NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
            <OtherMonthDayStyle ForeColor="#CC9966" />
            <SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
            <SelectorStyle BackColor="#FFCC66" />
            <TitleStyle BackColor="#0066FF" Font-Bold="True" Font-Size="9pt"
                ForeColor="#FFFFCC" />
            <TodayDayStyle BackColor="Red" ForeColor="White" />
        </asp:Calendar>
    </div>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>

 

后台:

 代码如下 复制代码

 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            LayerCC.Style["left"] = "167px";
            LayerCC.Visible = !LayerCC.Visible;
        }

        protected void Calendar1_SelectionChanged(object sender, EventArgs e)
        {
            TextBox1.Text = Calendar1.SelectedDate.ToString("yyyy-MM-dd");
            LayerCC.Visible = false;
        }

总结:

(1 采用一些重构,将一些函数方法分离出去,这一块有一些还没分离完全

(2 日期控件还有VisiblMonthChanged事件来处理日历是否被用户更改了月份, e.NewDate.Year 和e.PreviousDate.Year诸如此类的比较

(3 DayRender事件,可以通过cell和Day来呈现日期的特殊性,例如周末和节假日的颜色,

e.Day.IsOtherMOnth e.Day.IsWeekend 等

时间: 2024-08-04 08:51:32

asp.net笔记Calender日历控件使用方法的相关文章

jquery日历控件实现方法分享

 这篇文章主要介绍了jquery日历控件实现方法,网上有好多这样的插件,下面是自己实现的一个方法,需要的朋友可以参考下 注释掉的是默认的css样式,你可以修改成自己的样式实现另一个风格,大家参考使用吧    代码如下: /**  * jQuery Calendar Plugin  */ (function($, window) {       'use strict';     $.fn.calendar = function(options) {         //check is sele

ASP.NET动态添加用户控件的方法_实用技巧

本文实例讲述了ASP.NET动态添加用户控件的方法.分享给大家供大家参考.具体实现方法如下: 为了让用户控件能ASP.NET页面实现动态添加,首先写一个接口IGetUCable,这个接口有一个函数,返回对象类型是UserControl. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; /// <summary> /// Summar

一起学写js Calender日历控件_javascript技巧

最近看了一下关于js日期的一些函数,突然想到了日历控件,于是试着写了一个,作为后台程序员的我水平有限,大家抱着学习的态度看看我写的这个例子吧,一起学习进步! 首先一个常用的日期函数: Date(year,month,day)  var   date=new  Date(); 获取年份 var   year=this.date.getFullYear(); 获取月份,这里是月索引所以要+1 var   month=this.date.getMonth()+1; 获取当天是几号 var   day=

ASP.NET笔记之广告控件的使用方法_实用技巧

广告控件的使用方法: 广告文件是一个XML文件,广告文件中所有的标签属性被分析后放到adProperties字典中,用以属性编辑. ads.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <!--广告文件是一个XML文件--> <Advertisements>   <Ad>     <ImageUrl>4rwbgzby.gif</Image

ASP.NET:数据库绑定控件DataBind方法

asp.net|控件|数据|数据库     DataBind方法是ASP.NET中一个很重要的概念,几乎所有的控件都需要它控制数据的操作,它的作用是在为控件指定数据源后,执行数据绑定操作.在上一章的DataSet对象实例中我们已经使用过,利用这个方法为DataGrid控件绑定数据,即DataGrid.DataBind().    ASP.NET可以使用DataBind方法来绑定数据的控件除了DataGrid,Repeater,DataList三个专用的数据绑定控件以外,还有些数据集合性质的Web

WdatePicker日历控件使用方法

1. 跨无限级框架显示   无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,因为My97日期控件是可以跨无限级框架显示的   示例2-7 跨无限级框架演示 可无限跨越框架iframe,无论怎么嵌套框架都不必担心了,即使有滚动条也不怕   2. 民国年日历和其他特殊日历   当年份格式设置为yyy格式时,利用年份差量属性yearOffset(默认值1911民国元年),可实现民国年日历和其他特殊日历 示例2-8 民国年演示 <input type="tex

asp.net动态载入用户控件的方法_实用技巧

在 Page_Load 中写入下面代码: string s=base.QueryString("usctrl") ; string uc= (s== String.Empty) ? "~/myweb/userctrl/default.ascx"  :  "~/myweb/userctrl/""  + s + ".ascx" ; PlaceHolder1.Controls.Clear();    PlaceHolder

asp.net Google样式分页控件

  asp.net Google样式分页控件 使用方法: 引入控件 <%@ Register Assembly="TinyToolBox" Namespace="TinyMS.UI" TagPrefix="tm" %> 使用控件 页码处理事件 protected void TinyPager1_Click(object sender, TinyMS.UI.PagerEventArgs e) { his.Label1.Text = &q

梅花雨的日历控件在ASP.NET2.0下不可用的解决方法

asp.net|解决|控件|日历 梅花雨的日历控件的确很好用,可是在asp.net 2.0下,会发现安以往的方式用不起了,js报错"缺少对象".解决方法如下 1.<%@ Page Language="C#" CodePage="936"..... 一定加入936 ,否则出错 2.去掉 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu