值的比较:CompareValidator控件 日期的比较【转载】

不能实现,CompareValidator   判断时间的时候,明确规定,只能判断年月日格式,不支持时分秒格式.所以验证无法通过.楼主可试着将时分去除,此时应正常.  
  这种时候,只能用其他方法了,比如说自己写JS,或在服务端验证.
CompareValidator控件执行输入到表单域的数据和另一值之间的比较.另一个值可以是固定值,诸如特定的数据值,或输入另一个控件的值.比如,可以用来检查输入的数是否大于7,比较输入的日期是否大于一个指定日期,或者检查输入的货币是否小于一个特定的数额.
   现在假定两个表单域用来输入数据:一个标记为StartDate,另一个标记为EndDate.现在要保证在EndDate中输入的日期小于StartDate中输入的日期.
   要比较两个日期,需要设置CompareValidator控件的ControlToValidator, ControlToCompare, Operator 和 Type 属性.程序清单演示如何判断一个日期晚于另一个日期.
   Operator 属性值为GreaterThan. CompareValidator 判断输入到 txtEndDate 控件的值是否大于输入到txtStartDate控件的值.
    最后,Type 属性值设为Date. 该控件把两个值作为日期比较,而不是作为字符串或是整数值比较.
    CompareValidator 并不检查正在执行比较控件中的是否真的输入了值.如果 txtStartDate 或 txtEndDate控件保持为空白,也会通过验证检查.

<Script Runat="Server">

Sub Button_Click( s As Object, e As EventArgs )
  If IsValid Then
    Response.Redirect( "ThankYou.aspx" )
  End If
End Sub

</Script>

<html>
<head><title>CompareValidator.aspx</title></head>
<body>

<form Runat="Server">

Start Date:
<asp:TextBox
  id="txtStartDate"
  Columns="8"
  Runat="Server"/>

End Date:
<asp:TextBox
  id="txtEndDate"
  Columns="8"
  Runat="Server"/>

<br>
<asp:CompareValidator
  ControlToValidate="txtEndDate"
  ControlToCompare="txtStartDate"
  Display="Dynamic"
  Text="End date must be greater than start date!"
  Operator="GreaterThan"
  Type="Date"
  Runat="Server" />

<p>

<asp:Button
  Text="Submit!"
  OnClick="Button_Click"
  Runat="Server"/>

</form>
<!--以下为本站的广告代码,请在使用代码时加以删除.本站广告代码开始-->
<script type="text/javascript"><!--
google_ad_client = "pub-4055365977023692";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!--本站广告代码结束-->
</body>
</html>

posted @ 2009-09-17 19:55  chaobj  阅读(2069)  评论(1编辑  收藏  举报