[ad_1]
こんにちは、みんな、
過去 5 つの日付と共に現在の日付のみをユーザーに表示する必要があります。 休息日/月は無効にする必要があります。 htmlと.netの範囲バリデーターを使用してこれを達成するのを手伝ってください
私が試したこと:
ASP.NET
<td class="auto-style1" align="left" style="vertical-align: top;"> Entry Date </td> <td align="left" style="vertical-align: top;" class="auto-style2"> <asp:TextBox ID="txtFromDate" runat="server" CssClass="textbox" TabIndex="6" Width="100px"></asp:TextBox> <cc1:CalendarExtender ID="CEPostingFromDate" runat="server" TargetControlID="txtFromDate"> </cc1:CalendarExtender> <cc1:MaskedEditExtender ID="MaskedEditExtender1" runat="server" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" Mask="99/99/9999" MaskType="Date" TargetControlID="txtFromDate" UserDateFormat="MonthDayYear" > </cc1:MaskedEditExtender> <cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" Enabled="True" TargetControlID="txtFromDate" WatermarkText="MM/DD/YYYY" > </cc1:TextBoxWatermarkExtender> <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtFromDate" ErrorMessage="Choose only the enabled dates" MaximumValue="01/10/2023" MinimumValue="01/05/2023" Type="Date" >*</asp:RangeValidator> <cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" TargetControlID="RangeValidator2"> </cc1:ValidatorCalloutExtender> </td>
解決策 1
プロパティを設定するには、コードを使用する必要があります。
ASP.NET
<asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtFromDate" ErrorMessage="Choose only the enabled dates" Type="Date" OnInit="RangeValidator2_Init" >*</asp:RangeValidator>
C#
protected void RangeValidator2_Init(object sender, EventArgs e) { RangeValidator validator = (RangeValidator)sender; DateTime today = DateTime.Today; validator.MaximumValue = today.ToString("yyyy/MM/dd"); validator.MinimumValue = today.AddDays(-5).ToString("yyyy/MM/dd"); }
注意: ドキュメントに注意してください:
指定すれば
ValidationDataType.Date
のためにBaseCompareValidator.Type
アプリケーションのカルチャをプログラムで設定せずにプロパティを使用する場合は、次のようなカルチャに中立な形式を使用する必要があります。YYYY/MM/DD
、 のためにMaximumValue
とMinimumValue
プロパティ。 そうしないと、日付が正しく解釈されない可能性があります。
編集: カレンダーで使用できる日付を制限するには、同じ方法でプロパティを設定します。
ASP.NET
<cc1:CalendarExtender ID="CEPostingFromDate" runat="server" TargetControlID="txtFromDate" OnInit="CEPostingFromDate_Init" />
C#
protected void CEPostingFromDate_Init(object sender, EventArgs e) { CalendarExtender extender = (CalendarExtender)sender; DateTime today = DateTime.Today; extender.StartDate = today.AddDays(-5); extender.EndDate = today; }
[ad_2]
コメント