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;
                }
            }
  • 相关阅读:
    nginx-syslog
    loki
    idea安装中文插件
    nginx虚拟目录alias
    个人 软件系统整理
    Python 遍历Sheet 每个Sheet都单独保存为一个Excel
    SQL Server 多表关联的update语句
    电商 生意参谋 抓取 访客数据 JS版/谷歌插件版
    EF 多表关联
    个人 圈外同学 对比分析
  • 原文地址:https://www.cnblogs.com/neso520/p/12491266.html
Copyright © 2011-2022 走看看