有一个Button和一个ImageButton
前提是输入的数据不对,没有通过验证
点Button的时候验证控件提示错误,Button的Click代码没有执行下去
点ImageButton的时候验证控件提示错误,但是ImageButton的Click代码仍然会继续执行请问是为什么,还有怎么让ImageButton像Button一样,不会继续执行代码

解决方案 »

  1.   

    设置控件的Group,把控件和验证控件设成一样的
      

  2.   

    看看验证控件绑定了哪个控件了,应该验证控件不会出现这个Bug!
      

  3.   

    我又试了一下,LinkButton和Button是一样的,不会出现ImageButton的问题
    验证的代码:
    <asp:TextBox ID="txtSpec" runat="server" Width="60px"></asp:TextBox>
                                                <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                                                    ControlToValidate="txtSpec" ErrorMessage="请输入整数" ValidationGroup="Check"  
                                                    ValidationExpression="^-?[1-9]\d*|0$" Display="Dynamic"></asp:RegularExpressionValidator>按钮的代码:
    <asp:ImageButton ID="IBtnSave" runat="server" ImageAlign="Right" ImageUrl="~/App_Themes/AFAChannel/Images/Save.jpg" 
                                        OnClick="IBtnSave_Click" ValidationGroup="Check" Visible="False" />
                                    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click" 
                                        ValidationGroup="Check">LinkButton</asp:LinkButton>
                                    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" ValidationGroup="Check" Text="Button" />注:三个按钮单击事件的代码都是一样的
      

  4.   

    发现问题了,我对ImageButton添加了一个方法:
    public static void ButtonClick(ImageButton ButtonID)
            {
                Page pg = (Page)System.Web.HttpContext.Current.Handler;
                string script = pg.GetPostBackEventReference(ButtonID);
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append("window.document.getElementById('" + ButtonID.ClientID + "').disabled = true;");
                sb.Append(script);
                sb.Append(";");
                ButtonID.Attributes.Add("onclick", sb.ToString());
                
            }为什么添加了这个就会继续执行代码呢?
      

  5.   

    ImageButton 怎么还有Visiable=False;