日期:2014-05-17  浏览次数:20456 次

遍历页面上所有的RadioButton与CheckBox出现一个奇怪的问题.请大家帮忙看一下!
aspx页面代码片断:
HTML code

性别 
    <asp:RadioButton ID="r1_1" runat="server" GroupName="g1" Text="男" />
    <asp:RadioButton ID="r1_2" runat="server" GroupName="g1" Text="女" />
    <br />
选择
    <asp:CheckBox ID="c1_1" runat="server" Text="选择1" />
    <br />
    <asp:CheckBox ID="c1_2" runat="server" Text="选择2"/>
    <br />


后台代码片断:
C# code

foreach (Control cl in this.form1.Controls)
            {
                if (cl is RadioButton)
                {
                    RadioButton tempR = ((RadioButton)cl);
if (tempR.Checked)
                    {
//此处省略
                    }
                }
                if (cl is CheckBox)
                {
                    CheckBox tempC = ((CheckBox)cl);
if (tempC.Checked)
                    {
                        //此处省略
                    }
                }
            }



现在的问题是运行后,当遍历到是RadioButton的时候, if (cl is CheckBox)这句竟然为true,为什么呢?如何修改?谢谢!

------解决方案--------------------
cl.getType()==type(RadioButton)