ASP.NET 4.5 TextBox TextMode

时间:2013-03-03 10:26:01

标签: asp.net

可以阻止ASP.net中的过去日期TextBox TextMode =“DateTime”或“Date”

2 个答案:

答案 0 :(得分:3)

我认为这是WebForms,在这种情况下是的,你可以使用RangeValidator。像这样:

<asp:TextBox runat="server" ID="dateField" />
<asp:RangeValidator runat="server" Type="Date" ControlToValidate="dateField" 
MaximumValue="9999/12/28" 
MinimumValue="1000/12/28" 
ErrorMessage="enter valid date" />

您需要根据需要设置MinimumValue属性。您可以通过代码隐藏或页内<script>块执行此操作:

this.rangeValidator.MinimumValue = DateTime.UtcNow.Subtract( new TimeSpan(13,0,0) ).ToString("G", CultureInfo.InvariantCulture);

请注意我使用UtcNow并减去13个小时以获得真实的,全球可接受的最小日期值。您可能希望根据应用程序更改此选项(例如将其限制为服务器的时区,前提是用户期望的那样)。

答案 1 :(得分:2)

This post should help you

  

Input element specification min属性(如果已指定)必须   具有一个有效的全局日期和时间字符串的值。最大   属性(如果已指定)必须具有有效全局日期的值   和时间字符串

您可能会从

背后的代码执行此操作
yourTextBox.Attributes.Add("min", DateTime.Now.ToString());