日期:2014-05-17  浏览次数:20617 次

CustomValidator问题,请大家指点指点~~~
碰到一个奇怪的问题,下面是我模拟这个问题的一个简单例子,请大家指点

  有三个panel。panel1,panel2,panel3。页面加载隐藏panel2和panel3.点击panel1中的下一步,到达panel2。其中panel2中有一个CustomValidator验证,验证textbox中的值是否为aa。如果不是则提示“用户不存在”然后点击下一步进入panel3.
   
  问题: 验证控件不起作用,CustomValidator1_ServerValidate不执行。不知道为什么。如果只是在一个页面上加一个textbox。一个按钮,一个验证控件。它是起作用的。请大家帮忙~~谢谢。
html代码如下:
C# code

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <style type="text/css">
        .style1
        {
            width: 100%;
        }
        .style2
        {
            width: 630px;
            text-align: right;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Panel ID="Panel1" runat="server">
                <table class="style1">
            <tr>
                <td>
                    1</td>
            </tr>
            <tr>
                <td style="text-align: center">
                    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
                        style="text-align: left" Text="Button" />
                </td>
            </tr>
        </table>
        </asp:Panel>
        
            <asp:Panel ID="Panel2" runat="server">
                <table class="style1">
                    <tr>
                        <td class="style2">
                            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                        </td>
                        <td>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                                ControlToValidate="TextBox1" ErrorMessage="不能为空">*</asp:RequiredFieldValidator>
                            <asp:CustomValidator ID="CustomValidator1" runat="server" 
                                ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="用户已存在" 
                                onservervalidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            &nbsp;</td>
                        <td>
                            &nbsp;</td>
                    </tr>
                    <tr>
                        <td class="style2">
                            &nbsp;</td>
                        <td>
                            &nbsp;</td>
                    </tr>
                    <tr>
                        <td colspan="2" style="text-align: center">
                            <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
                        </td>
                    </tr>
                </table>
            
        </asp:Panel>
        
        
                <asp:Panel ID="Panel3" runat="server">
                        <table class="style1">
            <tr>
                <td colspan="2">
                    3</td>
            </tr>
            <tr>