ajax カレンダー コントロールの日付を無効にします。
次のスクリプトを使用して、ASP カレンダー コントロールで日付をブロックできます。画像の例..
データベースから予約された日付を読み取り、それらの日付を異なる色で強調表示しています。これは asp.net カレンダーでは正常に機能していますが、ajax カレンダー コントロールでも同じように実装したいと考えています。
protected void CalendarDayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
{
// 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 = "";
}
}
Ajaxカレンダーコントロールでも同じことをする必要があります
しかし、同じコードをAjax prerenderイベントの下に置くと、それを行うことができません
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;
//Here i nee code to block date if it is booked in the database
}
コードビハインドから実行できるように例を探しましたが、これまでのところ、Ajaxカレンダーコントロールでは実行できません。
データベースから値を読み取り、すでに予約されている日付をブロックしています。
これについて助けていただければ幸いです
参照用の HTML コード
<div>
<asp:TextBox ID="TextBox1" runat="server" Height="27px" Width="279px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:Calendar ID="Calendar1" runat="server" BackColor="White" OnDayRender="CalendarDayRender"
BorderColor="#3366CC" BorderWidth="1px" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#003399" Height="200px" Width="220px" CellPadding="1"
DayNameFormat="Shortest" >
<DayHeaderStyle BackColor="#99CCCC" ForeColor="#336666" Height="1px" />
<NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
<OtherMonthDayStyle ForeColor="#999999" />
<SelectedDayStyle BackColor="#009999" ForeColor="#CCFF99" Font-Bold="True" />
<SelectorStyle BackColor="#99CCCC" ForeColor="#336666" />
<TitleStyle BackColor="#003399" BorderColor="#3366CC" BorderWidth="1px"
Font-Bold="True" Font-Size="10pt" ForeColor="#CCCCFF" Height="25px" />
<TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
<WeekendDayStyle BackColor="#CCCCFF" />
</asp:Calendar>
<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>
</div>