CustomValidator1_ServerValidate为什么不执行?为什么。解决方法

CustomValidator1_ServerValidate为什么不执行?为什么。。。
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
  {
  //就是要它验证不过!
  args.IsValid = false;
  //或
  CustomValidator1.IsValid = false;
  }

  protected void Button1_Click(object sender, EventArgs e)
  {
  //为什么总是True???
  if (Page.IsValid)
  {
  Response.Write(CustomValidator1.IsValid);
  }
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Untitled Page</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
   
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
  <asp:CustomValidator ID="CustomValidator1" runat="server" 
  ControlToValidate="TextBox1" ErrorMessage="CustomValidator" 
  onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
   
  </div>
  </form>
</body>
</html>

郁闷,真不知道哪里有毛病。
无Web.Config,没有引入任何JS,就这一个页面。
onservervalidate="CustomValidator1_ServerValidate"大小写并没关系的,运行无错。

为什么???为什么???为什么???为什么???

------解决方案--------------------
没有问题。但是你必须输入。