当前位置: 首页 > 工具软件 > Calendar.NET > 使用案例 >

asp.net Calendar 日历控件简单用法

松景铄
2023-12-01

  • asp.net Calendar 是微软自带的一款日历控件,除了简单显示日期时间外, 还可以绑定一些需要的事件。

    Calendar_DayRender  事件,是在加载都去时间日期时候的方法,用此方法可以在日历对应的每一天上面添加你所需要的事件,下面写一个对应的务实的列子


    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
        {
     
      
    ///当日期不是当前月的时候,就去掉它的日期数(就是在本月显示日期的面板上面不显示上月或者下月的多余日期)
            if (e.Day.IsOtherMonth)
            {
                e.Cell.Controls.Clear();
                return;
            }
    //给当前每一个日期单元格添加js ononmouseover 事件 e.Cell.Attributes["onmouseover"] = "mouseov()";
    
             
    
             ///仅给当前日期添加一个class样式
                if (e.Day.Date.ToString("yyyy/MM/dd") == DateTime.Now.ToString("yyyy/MM/dd"))
                {
    //today是样式的名称
    e.Cell.Attributes["class"] = "today";
    }  
            }
    
           
          
        }
    还有一个就是Calendar_PreRender事件,这个事件我是用来做地区日期自动更改的
    比如你想要英文日历就按如下方法
    protected void Calendar1_PreRender(object sender, System.EventArgs e)
        {
            System.Globalization.CultureInfo myinfo = new System.Globalization.CultureInfo("en-US", false);
            System.Threading.Thread.CurrentThread.CurrentCulture = myinfo;
        }
    如果是中文的话就是将上面的en-US改为zh-cn
     
    在Calendar_PreRender里还可以定义一些其他的属性,
    for example 星期的名称
    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;
    }


转自:咖啡之念
 类似资料: