Как сделать так, чтобы календарь-расширитель не мог выбрать базу дат на выбранную дату?

Как я могу сделать так, чтобы пользователь не мог выбрать дату окончания до даты начала?

<asp:Label ID="lblStartDate" runat="server" Text="Start Date: " CssClass="labelClass"></asp:Label>
<asp:TextBox ID="tbStartDate" runat="server" ReadOnly="True"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="CalExtStartDate" runat="server" Format="dd/MM/yyyy" TargetControlID="tbStartDate" />



<asp:Label ID="lblEndDate" runat="server" Text="End Date: " CssClass="labelClass"></asp:Label>
    <asp:TextBox ID="tbEndDate" runat="server" ReadOnly="True"></asp:TextBox>
    <ajaxToolkit:CalendarExtender ID="CalExtEndDate" runat="server" TargetControlID="tbEndDate" Format="dd/MM/yyyy" />

В моем .aspx.cs у меня есть, но он все еще не работает.

    if (!IsPostBack)
        {
            CalExtStartDate.StartDate = DateTime.Now.AddDays(-7);

            CalExtEndDate.StartDate = CalExtStartDate.SelectedDate;

        }

person Vexasoe    schedule 11.08.2016    source источник


Ответы (1)


Я считаю, что вы можете использовать валидатор сравнения в паре с двумя обязательными валидаторами полей (по одному для каждого текстового поля даты):

<asp:TextBox ID="tbStartDate" runat="server" ReadOnly="True"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ErrorMessage="End Date required" ID="requiredDate1" ControlToValidate="tbStartDate" />

<asp:TextBox ID="tbEndDate" runat="server" ReadOnly="True"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ErrorMessage="Start Date required" ID="requiredDate2" ControlToValidate="tbEndDate" />

<asp:CompareValidator runat="server" ID="compareValidator1" ErrorMessage="End date must be after start date" ControlToCompare="tbStartDate" ControlToValidate="tbEndDate" Operator="GreaterThan" Type="Date" />
person user1498969    schedule 11.08.2016
comment
это ответ. но мне нужно показать, что в графическом интерфейсе Calendar Extender он отменяет прошедшую дату... в любом случае спасибо! - person Vexasoe; 11.08.2016
comment
Пожалуйста. Вероятно, будет лучше, если вы все равно будете использовать валидатор, даже если вы хотите сделать календарь серым. Мой опыт работы с календарем ajax показал, что он немного ограничен в том, что вы можете с ним делать. Если вы хотите получить действительно конкретную информацию, вы можете захотеть интегрировать календари jquery в свой проект. - person user1498969; 11.08.2016