<%@ Page Language="C#" Debug="true" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>自定义通用验证控件</title>
<script language="javascript">
    function Tx_Ct(source,arguments)
    {
     alert(source.innerText+"--"+arguments.value+"--"+document.getElementById("txt_1").value);
      //这里为什么arguments.value直接获取不到值<这个属性为什么没用呢>      //  arguments.IsValid=true;  设置值是否显示错误信息<这个属性有用>
    }
</script>
<script language="C#" runat="Server">
    void ServerValidate(object source, ServerValidateEventArgs args)
    {
        label1.Text = args.Value;//获取关联控件的值
        label2.Text = txt_1.Text;//这个也可以获取控件的值
        //这里是比较txt_1的值然后根据条件返回一个IsValid=false或true即可
        args.IsValid = true;//设置为false就显示出错信息,设置为true就不显示
    }
</script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="txt_1" runat="server"></asp:TextBox>
        <asp:TextBox ID="txt_2" runat="server"></asp:TextBox>
        <asp:Button ID="bu_t" runat="server" Text="提交" />
         <asp:CustomValidator ID="Cust_1" runat="Server"
          ControlToValidate="txt_1"
          ClientValidationFunction="Tx_Ct" 
          OnServerValidate="ServerValidate"
          Text="出错"></asp:CustomValidator>
     </form>
</body>
</html>这里客户端的arguments.value为什么取不到值,不过服务器段的arguments.value可以。
难道客户端只能用document.getElementById("txt_1").value来获取值吗
但他的isvalid属性又有用。但为什么arguments.value没用呢。