ASP.NET Calendar日曆(日期)控制項使用方法_基礎應用

來源:互聯網
上載者:User

Calendar 控制項顯示一個日曆,使用者可通過該日曆導航到任意一年的任意一天。當 ASP.NET 網頁運行時,Calendar 控制項以 HTML 表格的形式呈現。因此,該控制項的許多屬性與多種不同的表格格式相符。在這些屬性中,有幾個在一些低版本的瀏覽器中不能得到完全支援,因此在這些瀏覽器中並不能使用所有的格式功能。

使用 Calendar 控制項在網頁上顯示日曆的單個月。該控制項使您可以選擇日期並移到下個月或上個月。Calendar 控制項支援 System.Globalization 命名空間中的所有 System.Globalization.Calendar 類型。除西曆以外,這還包括使用不同年和月系統的日曆,如 Hjiri 日曆。

可以通過設定 SelectionMode 屬性指定 Calendar 控制項是否允許選擇單日、周或整月。

預設情況下,該控制項顯示月中各天、周中各天的標題、帶有月份名和年份的標題、用於選擇月份中各天的連結及用於移動到下個月和上個月的連結。您可以通過設定控制控制項中不同部分的樣式的屬性,來自訂 Calendar 控制項的外觀。下表列出了指定控制項不同部分的樣式的屬性。

屬性 說明

DayHeaderStyle 為顯示一周中各天的部分指定樣式。
DayStyle 為顯示的月份中的日期指定樣式。
NextPrevStyle 為標題部分中的導航控制項指定樣式。
OtherMonthDayStyle 為不在當前顯示的月份中的日期指定樣式。
SelectedDayStyle 為日曆中的選定日期指定樣式。
SelectorStyle 為周和月份日期選擇列指定樣式。
TitleStyle 為標題部分指定樣式。
TodayDayStyle 為今天日期指定樣式。
WeekendDayStyle 為周末日期指定樣式。

也可以顯示或隱藏控制項的不同部分。下表列出控制顯示或隱藏哪些部分的屬性。

ShowDayHeader 顯示或隱藏顯示一周中各天的部分。
ShowGridLines 顯示或隱藏月中各天之間的網格線。
ShowNextPrevMonth 顯示或隱藏指向下個月或上個月的導航控制項。
ShowTitle 顯示或隱藏標題部分。

儘管 Calendar 控制項不支援綁定到資料來源,但是可以修改各個日期儲存格的內容和格式設定。在網頁上顯示 Calendar 控制項之前,它建立並彙編組成該控制項的組件。當建立 Calendar 控制項中的每個日期儲存格時,均會引發 DayRender 事件。通過在 DayRender 事件的事件處理常式中提供代碼,可以在建立日期儲存格時控制其內容和格式設定。

Calendar 控制項將 ECMAScript(JScript、JavaScript)呈現給用戶端瀏覽器。用戶端瀏覽器必須啟用 ECMAScript,此控制項才能正常工作。

下面的程式碼範例示範如何在網頁上建立 Calendar 控制項。

前台代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Calendar.aspx.cs" Inherits="WebControls_Calendar" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css">  .style1  {   width: 369px;  } </style></head><body> <form id="form1" runat="server"> <div> <h3>Calendar(日期控制項)</h3>  <table style="width: 100%;">   <tr>    <td class="style1">           屬性</td>    <td>     值</td>    <td>     作用</td>   </tr>  </table>  <hr />  請選擇日期:<asp:Calendar ID="calDate" runat="server"></asp:Calendar>  <asp:Button ID="btnSubmit" runat="server" Text="提交" onclick="btnSubmit_Click" />  <hr />  請選的日期為:<asp:Label ID="lblState" runat="server"></asp:Label>  <br />  <br />  本地日期和時間為:<asp:Label ID="lblBenDiShiJian" runat="server"></asp:Label> </div> </form></body></html>

後台代碼:

using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class WebControls_Calendar : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {  lblBenDiShiJian.Text = System.DateTime.Now.ToString(); } protected void btnSubmit_Click(object sender, EventArgs e) {  lblState.Text = calDate.SelectedDate.ToShortDateString(); }}

顯示效果:

請選的日期為:2013-03-13

本地日期和時間為:2013-03-06 10:22:23

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.