我有一个非常奇怪的情况:我的asp:面板在我的aspx代码中,在代码背后我尝试设置它的可见性。这是代码
divDiscountCodeCongratulation.Visible = true;
aspx中的代码
<asp:Panel ID="pan1" runat="server">
<asp:Panel class="sbox-gratulacje" ID="divDiscountCodeCongratulation" runat="server" >
<asp:Literal ID="LitDiscountCodeCongratulation" runat="server" Text="Gratulacje "></asp:Literal>
<asp:Literal ID="litDiscountInfoFromCode" runat="server"></asp:Literal>
<asp:LinkButton ID="btnDiscountCodeCancel" runat="server" Text="Cofnij" OnClick="btnDiscountCodeCancel_Click" />
</asp:Panel>
</asp:Panel>
我把断点放在这一行上,就在它之后我还有假值(默认值)。同样的情况是当我尝试在立即窗口中设置它时。
有谁知道为什么会这样???
“divDiscountCodeCongratulation”的所有父母必须将Visibility设置为true。
答案 0 :(得分:0)
我使用了你的aspx代码,在我的代码后面的page_load中我只是说: divDiscountCodeCongratulation.Visible = false;
并且面板可见性设置为false,即divDiscountCodeCongratulation不可见。
Panel可见性的默认值为True而不是False,因为您提到默认值为False。您可以检查是否在cssclass中设置了面板的可见性 sbox-gratulacje 与否。
另外,请检查下面的示例,它会隐藏linkbutton1上的面板,并在linkbutton2上显示面板
ASPX代码:
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton1</asp:LinkButton>
<asp:LinkButton
ID="LinkButton2" runat="server" onclick="LinkButton2_Click">LinkButton2</asp:LinkButton>
主板
儿童小组
代码背后: protected void LinkButton1_Click(object sender,EventArgs e) { divDiscountCodeCongratulation.Visible = false; } protected void LinkButton2_Click(object sender,EventArgs e) { divDiscountCodeCongratulation.Visible = true; }