黑马程序员技术交流社区

标题: 关于如何解决同一页面的多个按钮都能激发验证控件的验证事件 [打印本页]

作者: 咖喱猫    时间: 2013-7-20 15:27
标题: 关于如何解决同一页面的多个按钮都能激发验证控件的验证事件
当我们使用验证控件时,在当前页面所有的按钮(Button、LinkButton、超链接等)被点击时可以激发验证控件的验证事件,如何制定一个按钮来激发这些验证控件的事件呢。
如下:是一个登陆窗体的代码,有两个文本框需要验证,而ImageButton1按钮就是登陆按钮,下面的a标签的超链接是跳转注册页面。只要在两个验证控件里面添加ValidationGroup="Login"同是再登陆按钮控件上也添加一样的ValidationGroup="Login",这样只要点击登陆按钮就会激发两个验证控件的事件,而a标签没有这个的分组,所以不会激发该事件。

<tr>
            <td width="100" height="26" align="right">
                 <strong class="contentColor">用户名:</strong>
            </td>
             <td width="150">
                <asp:TextBox ID="txtLoginId" runat="server" Height="20px"></asp:TextBox>
            </td>
             <td width="150">
               
                 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
                     ErrorMessage="登录名不能为空" ControlToValidate="txtLoginId" ValidationGroup="Login">登录名不能为空</asp:RequiredFieldValidator>
               
            </td>
        </tr>
         <tr>
            <td height="26" align="right">
                <strong class="contentColor">密&nbsp码:</strong>
            </td>
             <td>
                <asp:TextBox ID="txtLoginPwd" runat="server" Height="20px" TextMode="Password"></asp:TextBox>
            </td>
             <td>
                 <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
                     ErrorMessage="登录密码不能为空" ControlToValidate="txtLoginPwd" ValidationGroup="Login">登录密码不能为空</asp:RequiredFieldValidator>
            </td>
        </tr>
         <tr align="center">
             <td colspan="3">
             <br />
                 <!--登陆 -->
                 <asp:ImageButton ID="ImageButton1" runat="server" ValidationGroup="Login"
                     ImageUrl="~/Admin/Images/az-login-gold-3d.gif" onclick="ImageButton1_Click" />
                 &nbsp;&nbsp;
               <!--注册 -->
                 <a href="">
                     <img src="Admin/Images/az-newuser-gold-3d.gif" />
                 </a>
            </td>
            
        </tr>
作者: 许庭洲    时间: 2013-7-20 15:59
值得学习ing!
作者: 于驭龙    时间: 2013-7-20 23:06
这个其实有个作弊方法..通过 JS方法...先运行一次...右键看页面源代码.这样 ASP.NET所有加密方法事件全泄密了..
你只要复制你要的方法..写进JS...用一个BUTTEN激活就行了..
想激活那些按钮的事件都是默认使用:__doPostBack(方法)如下方法:
onchange="javascript:__doPostBack(&#39;ctl00$ContentPlaceHolder1$LinkBnt&#39;,&#39;&#39;)
右边参数是加密后的!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2