zoukankan      html  css  js  c++  java
  • Ext:Radio check后显示和隐藏控件错误的问题

     有两个单选控件
    选1个时候会显示3控件,并隐藏4控件
    选2个时候会显示4控件,并隐藏3控件
    对应关系:
    1--3
    2--4

    功能我自己可以实现,但是有一个bug。
    选1后,在选2,然后在选1,却只会显示4控件。
    真的搞不懂什么问题啊!
    是不是需要在显示或隐藏之前判断些什么条件呢?

    <ext:RadioGroup ID="RadioGroup1" runat="server">
         <Items>
               <ext:Radio ID="Success" runat="server" BoxLabel="1" Checked="false">
                    <AjaxEvents>
                         <Check OnEvent="Check1"></Check>
                    </AjaxEvents>
               </ext:Radio>
               <ext:Radio ID="Fail" runat="server" BoxLabel="2" Checked="false">
                    <AjaxEvents>
                         <Check OnEvent="Check2"></Check>
                    </AjaxEvents>
               </ext:Radio>
         </Items>
    </ext:RadioGroup>
    
    <ext:Label ID="Label1" runat="server" Text="1" Hidden="true"></ext:Label>
    <ext:Label ID="Label2" runat="server" Text="2" Hidden="true"></ext:Label>
    
    


     

    public void Check1(object sender, AjaxEventArgs e)
            {
                this.Label1.Hidden = false;
                this.Label2.Hidden = true;
            }
    
            public void Check2(object sender, AjaxEventArgs e)
            {
                this.Label1.Hidden = true;
                this.Label2.Hidden = false;
            }


    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    问题解决了
    原来Coolite的Radiogroup里面的Radio check的时候会调用最前面的事件。
    也就是说按2的时候,其实在执行1的命令。

    所以得在前面加点判断。同理,用js和用ajaxevent一样要再前面加判断。

    public void Check1(object sender, AjaxEventArgs e)
            {
                if(this.Success.checked)
                {
                    this.Label1.Hidden = false;
                    this.Label2.Hidden = true;
                }
                else
                {
                     this.Label1.Hidden = true;
                     this.Label2.Hidden = false;
                }
            }
    
            public void Check2(object sender, AjaxEventArgs e)
            {
                if(this.Fail.checked)
                {            
                    this.Label1.Hidden = true;
                    this.Label2.Hidden = false;
                }
                else
                {
                    this.Label1.Hidden = false;
                    this.Label2.Hidden = true;
                }
            }
  • 相关阅读:
    搭建UEFI PXE 基于linux相关资料
    SLES 搭建dhcp6服务器
    SUSE Linux 11架设Apache虚拟主机
    Virtualbox 安装SLES11 SP4系统后安装Guest Additions
    centos7 安装wireshark
    RHEL7.x 安装virtualbox增强组件
    Readhat 7.x禁用防火墙
    Debian普通用户添加sudo权限
    Virtualbox 错误提示"VT-x is not available (VERR_VMX_NO_VMX)"解决办法
    VNC 下载地址和key
  • 原文地址:https://www.cnblogs.com/neso520/p/12491266.html
Copyright © 2011-2022 走看看