• 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;
                }
            }
  • 相关阅读:
    HDOJ 1556 线段树
    POJ 3977 折半枚举
    2017ACM省赛选拔赛题解
    关于四舍五入和截断
    POJ 3422 最小费用最大流
    Codeforces Round #407 (Div. 2) D. Weird journey 思维+欧拉
    POJ 3155 最大密度子图
    无向图最小割 stoer_wagner算法
    最大权闭合子图
    L2-001. 紧急救援 Dijkstra
  • 原文地址:https://www.cnblogs.com/neso520/p/12491266.html
Copyright © 2020-2023  润新知