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;

} 

 

你可能感兴趣的:(calendar)