asp.net Calendar 日历控件用法

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;
} 
原文地址:https://www.cnblogs.com/yiliuyang/p/4253271.html