gpt4 book ai didi

c# - 根据数据库选择突出显示/禁用ajax日历控件中的特定日期

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:01 25 4
gpt4 key购买 nike

我需要使用 ajax 日历控件来显示当前日期的日期,并禁用和突出显示存储在数据库表中的日期。

我能够禁用以前的日期并将选择限制为从当前日期开始的一个月,并且还可以突出显示已为 asp.net 日历控件中的事件预订但不是在 ajax 日历控件中的日期。

enter image description here

以下代码在 ajaxcalander 控件中生成错误:

   protected void AjaxCalendar_PreRender(object sender, EventArgs e)  
{
//startdate= enddate="2012-06-25"
DateTime startDate = Helper.GetUAEDateTime();
DateTime endDate = DateTime.Now.AddDays(10);

AjaxCalendar.StartDate = startDate;
AjaxCalendar.EndDate = endDate;

// If the month is CurrentMonth
if (!e.Day.IsOtherMonth)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
if ((dr["BookingDate"].ToString() != DBNull.Value.ToString()))
{
DateTime dtEvent = (DateTime)dr["BookingDate"];
if (dtEvent.Equals(e.Day.Date))
{
e.Cell.BackColor = Color.PaleVioletRed;
e.Day.IsSelectable = false;

}
}
}
}
//If the month is not CurrentMonth then hide the Dates
else
{
e.Cell.Text = "";
}
}
}

错误由以下代码生成 if (!e.Day.IsOtherMonth)

CS1061: 'System.EventArgs' does not contain a definition for 'Day' and no extension method 'Day' accepting a first argument of type 'System.EventArgs' could be found (are you missing a using directive or an assembly reference?)

HTML

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="AjaxCalendar" runat="server"
TargetControlID="TextBox2" Format="yyyy-MM-dd"
onprerender="AjaxCalendar_PreRender" >
</asp:CalendarExtender>

如果我将相同的代码块放在 asp.net 日历控件中,它工作正常

我花了几个小时寻找可以帮助我解决此问题的解决方案或代码示例,但没有成功。我将不胜感激。

我已经查看了 100 个示例,但其中大多数显示使用 javascript 阻止旧日期或周末,但我想使用隐藏代码来实现它。 ajax 日历控件中可用的 it day 渲染事件

最佳答案

<AjaxControl:CalendarExtender ID ="myCalendar" runat=”server” TargetControlID=”txtDateTime” OnClientShown="disablenonthursdays">
</AjaxControl:CalendarExtender>

<script language="javascript">
function disablenonthursdays(sender, args)
{
for(var day =0; day <sender._days.all.length; day++)
{
for(var weekday =0; weekday < 6; weekday++)
{
if(sender._days.all[day].id != “calendarValidToDate_day_”+ weekday +”_4″)
{
sender._days.all[day].disabled = true;
sender._days.all[day].innerHTML = “<div>” +sender._days.all[day].innerText+ “</div>”;
}
}
}
}
</script>

关于c# - 根据数据库选择突出显示/禁用ajax日历控件中的特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com