C# 属性在设置后具有相同的值

C# 属性在设置后具有相同的值,c#,.net,asp.net,panel,C#,.net,Asp.net,Panel,问: 我在.aspx文件中有一个visibility=false的面板,在我的代码中的某个点上,我设置了visibility=true。但是问题在于:当我跟踪代码时,我发现visible属性仍然等于false,尽管我将其设置为true。 我的面板名称是:pnl\u details一般 protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { if

问:

我在
.aspx
文件中有一个visibility=false的面板,在我的代码中的某个点上,我设置了visibility=true。但是问题在于:当我跟踪代码时,我发现visible属性仍然等于false,尽管我将其设置为true。 我的面板名称是:
pnl\u details一般

 protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (RadioButtonList1.SelectedValue == "2")
            {
                drp_Week.Enabled = false;
                gv_Details.Visible = false;
                panel_rmv.Visible = false;
                pnl_DetailsGeneral.Visible = true;//Here when i put a break point and after setting visible to true i find `pnl_DetailsGeneral.Visible = false`
                gv_DetailsGeneral.Visible = true;
                BindGridGeneral();

            }
            else if (RadioButtonList1.SelectedValue == "1")
            {
                drp_Week.Enabled = true;
                gv_Details.Visible = true;
                gv_DetailsGeneral.Visible = false;
                pnl_DetailsGeneral.Visible = false;
                if (drp_Week.SelectedValue != "-1")
                {

                    BindGrid();
                }
            }
        }

什么可能导致此问题?

Visible属性有一个特殊属性:当您读取该值时,它不仅报告控件本身,还报告其父控件。您得到的值是“真实”可见性

所以很明显,你的控件的父控件仍然是不可见的


将父控件设置为可见时,控件也将可见。

我相信
控件。如果任何父控件的Visible=false,Visible
属性将返回false。

一种可能的解释是通过控件层次结构隐式可见

例如,如果您的占位符不包含其他控件,并且占位符的visible设置为false,则它的所有子控件也将visible设置为false,即使您自己明确设置了属性。

RadioButtonList上是否有AutoPostBack=“true”?