以下是我用来在 asp.net 中选择日期的代码
我使用文本框显示日期和图像以显示日历图标,并使用 Ajax 日历扩展器以格式选择日期dd-mmm-yyyy
。
<asp:TextBox ID="txtReqCompDate" runat="server"
ToolTip="Select Analysis Required Date" CssClass="formtext"
CausesValidation="True">
</asp:TextBox>
<asp:ImageButton ID="ibReqCompletionDate" runat="server"
ImageUrl="~/Images/Calendar.png" ImageAlign="AbsBottom" Height="15px" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="txtReqCompDate" Display="Dynamic" Text="Required"
ErrorMessage="Analysis Required Date" ValidationGroup="valProjForm"
SetFocusOnError="True" Font-Size="Smaller">
</asp:RequiredFieldValidator>
<asp:CompareValidator runat="server" ID="cmp1"
ErrorMessage="The date must be greater than todays date"
ControlToValidate="txtReqCompDate" Type="Date" Operator="GreaterThan" />
<cc1:CalendarExtender ID="CalendarExtender1" runat="server"
PopupButtonID="ibReqCompletionDate"
TargetControlID="txtReqCompDate" Format="dd-MMM-yyyy" Enabled="True">
</cc1:CalendarExtender>
即使我在页面加载中使用这一行也没有用。
cmp1.ValueToCompare = DateTime.Now.ToShortDateString();
当有人使用 comparevalidator 选择的日期小于今天的日期时,请建议我一种立即显示消息的方法。
我需要在我网站的几个页面中使用类似的功能。并且还可以在同一页面中选择一个大于 txtReqCompDate 的日期。
或者请建议我一种方法来禁用 ajax calenderextender 中的先前日期并在 Ajax 扩展器中显示当前日期之前的日期,而不会影响我在 .net 2.0 中编码时当前的代码功能。
我的主要问题在这里,它显示验证,如果日期小于今天的日期,即使日期大于当前日期。无论我使用什么验证器、比较或范围,都始终显示错误消息