1

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>
4

0 に答える 0