C# 如何将asp.net日历设置为仅显示特定日期范围

C# 如何将asp.net日历设置为仅显示特定日期范围,c#,sql,asp.net,date,C#,Sql,Asp.net,Date,我正在开发一个具有薪资组下拉列表的etime应用程序,根据所选的薪资组,填充该薪资组中的员工下拉列表,然后获取他们有交易的日期,并在这些日期上计算最小值和最大值,并填写可用的Terange最小值和最大值。我的问题是,我希望日历仅显示起始日期和截止日期的最小和最大日期范围。任何大于最大值和小于最小值的内容都应显示为灰色。任何帮助都将不胜感激 默认的.aspx代码 我试过这个 您可以通过处理DayRender事件来执行此操作: protected void Calendar1_DayRender(

我正在开发一个具有薪资组下拉列表的etime应用程序,根据所选的薪资组,填充该薪资组中的员工下拉列表,然后获取他们有交易的日期,并在这些日期上计算最小值和最大值,并填写可用的Terange最小值和最大值。我的问题是,我希望日历仅显示起始日期和截止日期的最小和最大日期范围。任何大于最大值和小于最小值的内容都应显示为灰色。任何帮助都将不胜感激

默认的.aspx代码

我试过这个


您可以通过处理DayRender事件来执行此操作:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date > DateTime.Now)    // use any selection criteria
    {
        // you can do all kinds of stuff here
        e.Cell.Enabled = false;
        e.Cell.ForeColor = Color.DarkGray;
    }
}

Steve Wellens先生,我试过你的建议,我在问题中添加了我厌倦的代码,但该事件没有被解雇我做错了什么,请帮助看起来不错,你确定它没有被解雇吗?你在函数中放置了断点吗?是的,非常确定,它应该取dropdownlist 3.text的日期并将其设置为日历的日期,但这没有发生,我已将自动回发设置为true,我认为日历采用日期参数,但dropdownlist包含日期时间,那么这是否就是问题所在?如果是,我如何将该值转换为日期字符串?plz帮助。DayRender事件在服务器上运行,因为日历是在发送到客户端之前生成的。我复制并粘贴了你的aspx代码和C函数签名代码到一个页面,它工作了。我在函数上放了一个断点,它就会触发。它为渲染的每一天触发一次。
 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
        {
            if (e.Day.Date == DateTime.Parse(DropDownList3.Text))
            {
                e.Day.IsSelectable = true;
            }
            if (e.Day.Date < DateTime.Parse(DropDownList3.Text))
            {
                e.Day.IsSelectable = false;
            }
        }
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date > DateTime.Now)    // use any selection criteria
    {
        // you can do all kinds of stuff here
        e.Cell.Enabled = false;
        e.Cell.ForeColor = Color.DarkGray;
    }
}