zoukankan      html  css  js  c++  java
  • 35Canlender--[Asp.Net]

    rili.aspx

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Web.Security ;
    using System.Data;
    using System.Configuration;


    namespace WebApplication1
    {
    public partial class rili : System.Web.UI.Page
    {
    string[][] arr;//声明一个数组来存储一年中的一个节日
    protected void Page_Init(object sender, EventArgs e)
    {

    //通过循环填充年月日下拉菜单
    for (int y = 1980; y < 2050; y++)
    {
    ye.Items.Add(y.ToString());
    }
    for (int m = 1; m < 13; m++)
    {
    mo.Items.Add(m.ToString());
    }
    for (int d = 1; d < 32; d++)
    {
    da.Items.Add(d.ToString());
    }
    arr=new string [4][];//数组
    for (int i = 0; i < 4; i++)
    {
    arr[i] = new string[32];
    }

    //存储数组的节日
    arr[1][1] = "元旦节";
    arr[2][4] = "情人节";
    arr[3][8] = "妇女节";
    }

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
    Label1.Text = Calendar1.SelectedDate.ToShortDateString();//选则完整日期
    Label2.Text = Calendar1.SelectedDate.Month.ToString() + "月";//月份
    Label3.Text = Calendar1.SelectedDate.Year.ToString() + "年";//年
    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
    //选则下拉列表中的值,选中None,日,周,月
    switch (DropDownList1.SelectedValue)
    {
    case "None":
    Calendar1.SelectionMode = CalendarSelectionMode.None;
    break;
    case "Day":
    Calendar1.SelectionMode = CalendarSelectionMode.Day;
    break;
    case "DayWeek":
    Calendar1.SelectionMode = CalendarSelectionMode.DayWeek;
    break;
    case "DayWeekMonth":
    Calendar1.SelectionMode = CalendarSelectionMode.DayWeekMonth;
    break;

    }
    }
    protected static DataTable ds(string day)
    {
    //为日期要绑定的数据库做个查询
    SqlConnection con=new SqlConnection(ConfigurationManager.ConnectionStrings ["pconn"].ConnectionString );
    SqlDataAdapter sda=new SqlDataAdapter();
    sda.SelectCommand = new SqlCommand("SELECT [title_id], [pubdate], [title] FROM [titles] WHERE ([pubdate] = '" + day + "')", con);
    DataSet ds=new DataSet ();
    sda.Fill (ds,"titles");
    return ds.Tables ["titles"];

    }

    protected void Button1_Click(object sender, EventArgs e)
    { //获取具体时间
    string y = ye.SelectedValue.ToString();
    string m = mo.SelectedValue.ToString();
    string d = da.SelectedValue.ToString();//转换日历的日期
    Calendar1.VisibleDate = Convert.ToDateTime(y + "-" + m + "-" + d);
    }

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
    CalendarDay d = e.Day;//设置当前日期
    TableCell c = e.Cell;//设置当前表格

    //如果是其他月份就清除本来的节日
    if (d.IsOtherMonth)
    {
    c.Controls.Clear();
    }
    else
    {
    try
    {//得到完整的月,日
    string txt = arr[d.Date.Month][d.Date.Day];
    if (txt != string.Empty)//看下面是否有东西
    {//获取当前的日期并转化为短日期格式
    string day = e.Day.Date.ToShortDateString();
    //循环数据视图中的每一行
    foreach (DataRow dr in ds
    (day).Rows)
    {
    c.Controls.Clear();
    c.Controls.Add (new LiteralControl("<a href='http://www.baidu.com"+ day+ "'><b>"+e.Day.Date.Day+"</b></a>"));
    }
    //如果有的话吗,就在数字日期后面换行显示
    c.Controls.Add(new LiteralControl("<br>" + txt));
    }
    }
    catch(Exception exe)
    {
    Response.Write (exe.ToString ());
    }
    }

    }
    }
    }

    效果图:

    1.通过选择Droplist来选择日期的类型

    2.获取日历中选择的日期

    3.给日历设置日期

    4.遗留问题:绑定数据库,添加数组,显示特殊节日,这个没有做好。

  • 相关阅读:
    mysql 存中文乱码
    解决办法:Message: 对实体 "useUnicode" 的引用必须以 ';' 分隔符结尾
    windows无法安装到这个磁盘选中的磁盘具有MBR分区表解决办法
    Windows快速添加开机启动项
    使用markdown做本地笔记软件/编辑器
    Apache负载均衡配置
    setuptools包的使用
    Git clone报错Someone Could Be Eavesdropping On You Right Now (Man-In-The-Middle Attack)!
    Code Review 的项目
    Pytorch 之Torch
  • 原文地址:https://www.cnblogs.com/wangmei/p/4493241.html
Copyright © 2011-2022 走看看