asp.net中日历控件的一个巧用技巧

来源:互联网 发布:小智的爸爸出现了知乎 编辑:程序博客网 时间:2024/06/07 01:59

将日历控件中不在当前月份当中的日期设置为灰色不可用状态,自己搞了一段时间,拿他没辙,于是在该网站上发了一个贴,请教网友帮我解决这个功能,很多网友的回答不是我想要的答案,但是他们还是愿意努力的给我解决难题,这一点让我值得欣慰。后来看到了一本叫《ASP.NET 4.0 编程技术大全》的书,当我看到日历控件样式的改变时,我偶然间想到了我自己想要的答案了,当时真的很高兴,于是...

 

关于该功能的实现是这样的:

首先,当然是要在Web窗体的页面放置一个日历控件:

<asp:Calendar ID="Calendar1" runat="server" ondayrender="Calendar1_DayRender"></asp:Calendar>

 

其次,为该日历控件添加一个名叫DayRender的事件处理程序(触发时机是:),系统会自动的在后置代码文件中添加这样的一个事件处理程序

 

再次,就是编写后置代码文件啦。如下代码就是我自己写的后置代码程序:

protected void Page_Load(object sender, EventArgs e)
    {
        //将不在当前月份中的日期设置为灰色
        Calendar1.OtherMonthDayStyle.ForeColor = System.Drawing.Color.Gray;
        //设置当天日期的颜色
        Calendar1.TodayDayStyle.ForeColor = System.Drawing.Color.Red;
    }

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        //将不在当前月份中的日期设置为不可用
        if (e.Day.IsOtherMonth)
        {
            e.Day.IsSelectable = false;
        }
       
    }

注意:日历控件的样式设置只能在Load事件处理程序中实现,其它的某些功能可以在DayRender事件处理程序中实现

原创粉丝点击