<asp:Button ID="Button1" runat="server" Text="下一步" 
            onclick="Button1_Click" OnClientClick="return CheckFive()"  />

解决方案 »

  1.   

    其中一个验证控件
    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
                   ControlToValidate="txtrc" ErrorMessage="不能为空,默认值为0。"></asp:RequiredFieldValidator>
    js:
    function CheckFive() {
        if (((document.getElementById('txtTh1').value == '') && (document.getElementById('txtTh2').value == ''))
                || ((document.getElementById('txtTc1').value == '') && (document.getElementById('txtTc2').value == ''))) {
            alert('同侧温度不能同时为空!');
            return false;
        }
        if (((document.getElementById('txtTh1').value == '') && (document.getElementById('txtWh').value == ''))
                || ((document.getElementById('txtTh2').value == '') && (document.getElementById('txtWh').value == ''))
                || ((document.getElementById('txtTc1').value == '') && (document.getElementById('txtWc').value == ''))
                || ((document.getElementById('txtTc2').value == '') && (document.getElementById('txtWc').value == ''))) {
            alert('同侧流量和温度不能同时为空!');
            return false;
        }}
      

  2.   

    ValidationGroup="one"在你的验证控件和按钮中,加入这句代码试试这个是分组...
      

  3.   

    把BUTTOn中 的return CheckFive()去 掉 ..
    放 到 <Form id="form1" onsubmit="return CheckFive()">
    试 一 下 ,我 记 得 有 一 种 情 况 是 JS和 验 证 控 件 并 存 的 .
      

  4.   

    js验证不同控件;
    放到Form不好用也
      

  5.   

    ValidationGroup="one" 
    加到验证控件和按钮之后 还是不行?
      

  6.   

    楼主要的效果,
    难道是.
    JS验证未通过,还会跟着执行验证控件的验证?
    例如txt1 是靠JS验证,txt2 是靠验证控件验证.
    都为空的时候同时显示?JS的验证之后,会返回一个return false啊,提交事件就终止了,后面的验证控件不会接着判断了.
      

  7.   

    JS验证和控件验证都通过才执行cs
      

  8.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript">
    function aaa() {
                var a = document.getElementById("txtName");
                if (a.value == "") {
                    alert('aaa');
                }
            } 
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
     
    <asp:TextBox ID="tx1" runat="server" />
       
     <asp:RequiredFieldValidator ID="rfv" runat="server" ErrorMessage="*****" ControlToValidate="tx1"></asp:RequiredFieldValidator>
       
     <input type="text" id="txtName" name='uname' />
        
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="aaa();" />
        
         </form>
    </body>
    </html>
    上面是我写的,不知道是不是你想要的,你先确认一下你验证的那个控件是不是服务端的。
    同一个按钮验证,它会先执行js验证然后在是服务端的验证,你看你那是不是哪漏了。对比一下。
      

  9.   


    你 碰 到 过 这 种 情 况 吗 ?不 要 误 导 别 人 
    放 FORM中 是 可 以 的 ..下 面 是 测 试代 码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function checkForm() {
                var o = document.getElementById("<%=TextBox2.ClientID %>");
                if (o.value == "") {
                    alert("不能为空");
                    return false;
                }
                return true;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server" onsubmit="return checkForm();">
        <div>
        
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
            <br />
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        
        </div>
        </form>
    </body>
    </html>
      

  10.   

    看 页 面 生 成 的 代 码 : <form name="form1" method="post" action="Default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1"><script type="text/javascript">
    //<![CDATA[
    function WebForm_OnSubmit() {
    if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;return checkForm();
    return true;
    }
    //]]>
    </script>
    先走 验 证 控 件 .最 后 走 JS方 法 ..所 以 验 证 的 JS方 法 放 到 Form中 是 能 起 到 作 用 的 
      

  11.   

     错了,你只有在你的Button1_Click里面加个判断就OK了。    protected void Button1_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)//是否验证。
            {
                //code;
            }
       }
      

  12.   

    xzq686的方法是对的,我写错了,对不起大家
      

  13.   


    RequiredFieldValidator4.IsValid- =!楼主要的是这个效果..这个兄弟是正解
      

  14.   

    xzq686的也很好用..嘎嘎,学习技术!!!
      

  15.   

    js验证会在第一时间执行,然后他不会在管服务端的验证,然后会执行Button1_Click事件里面的code,然后你在这里加个 
           if (Page.IsValid)//页面验证是否成功。 
            { 
                //code; 
            }