2011-01-12 17 views
0

Ich verwende .Net3.5. Ich habe ein Szenario, in dem Benutzer das Textfeld wählt, in dem der Ajax-Kalender erscheint. In diesem Kalender möchte ich nur die nächsten zwei Wochen anzeigen. nicht ganzen Monat oder Jahr. Wie geht das?nur zwei Wochen anzeigen Ajax Kalender

<tr> 
                 <td> 
                 </td> 
                 <td align="left"> 
                  Next Update Date 
                 </td> 
                 <td align="left"> 
                  <asp:TextBox ID="txtEditUpdateDt" runat="server"></asp:TextBox> 
                  <cc2:CalendarExtender CssClass="AjaxCalendar" OnClientShowing="DisplayDateToday" 
                   ID="CalendarExtender3" runat="server" PopupButtonID="txtEditUpdateDt" PopupPosition="BottomLeft" 
                   TargetControlID="txtEditUpdateDt" Enabled="True" /> 
                  <asp:RegularExpressionValidator ID="valtxtEditUpdateDt" runat="server" Display="None" 
                   ControlToValidate="txtEditUpdateDt" ErrorMessage="Please enter valid Date." ValidationExpression="((^(10|12|0?[13578])([/])(3[01]|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(11|0?[469])([/])(30|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(2[0-8]|1[0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(29)([/])([2468][048]00)$)|(^(0?2)([/])(29)([/])([3579][26]00)$)|(^(0?2)([/])(29)([/])([1][89][0][48])$)|(^(0?2)([/])(29)([/])([2-9][0-9][0][48])$)|(^(0?2)([/])(29)([/])([1][89][2468][048])$)|(^(0?2)([/])(29)([/])([2-9][0-9][2468][048])$)|(^(0?2)([/])(29)([/])([1][89][13579][26])$)|(^(0?2)([/])(29)([/])([2-9][0-9][13579][26])$))"></asp:RegularExpressionValidator> 
                  <cc2:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" Enabled="True" 
                   TargetControlID="valtxtEditUpdateDt"> 
                  </cc2:ValidatorCalloutExtender> 
                 </td> 
                 <td> 
                 </td> 
                </tr> 

Antwort

0

Wie @Dario sagte, ich glaube nicht, dass Sie es nicht in der einfachen Ajax-Kontrolle beschränken können. Eine alternative Option wäre das Hinzufügen eines Bereichsvalidators.

<asp:RangeValidator ID="RangeValidatorDT" 
        runat="server" 
        ControlToValidate="txtEditUpdateDt" 
        ErrorMessage="* Invalid date range" 
        Type="Date"> 
</asp:RangeValidator> 

dann auf der Seite Last

RangeValidatorDT.MinimumValue = System.DateTime.Now.ToShortDateString() 
RangeValidatorDT.MaximumValue = System.DateTime.Now.AddDays(15).ToShortDateString() 
0

Nach dem, was ich weiß, Sie kann es nicht tun, dieser Kalender-Extender ist sehr einfach zu bedienen, aber sehr begrenzt, wenn Sie das Kalender-Steuerelement verwenden, würden Sie nur die Tage ermöglichen können, dass Sie möchten, .

Verwandte Themen