1

我有一个非常奇怪的情况:我的 aspx 代码中有 asp:panel,在后面的代码中我尝试设置它的可见性。这是代码

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。

4

2 回答 2

1

你确定pan1是可见的吗?如果它是不可见的,那是预期的行为。

于 2013-01-03T22:07:15.847 回答
0

我使用了您的 aspx 代码,并且在 page_load 后面的代码中我只是输入了: divDiscountCodeCongratulation.Visible = false;

并且面板可见性设置为 false 即 divDiscountCodeCongratulation 不可见。

面板可见性的默认值为 True 而不是 False,正如您提到的默认值为 False。您可以检查是否在 cssclass sbox-gratulacje中设置了面板的可见性。

另外,请检查下面的示例,该示例将隐藏链接按钮 1 上的面板单击并显示链接按钮 2 上的面板单击

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>

主面板子面板

代码背后: 受保护的无效LinkBut​​ton1_Click(对象发送者,EventArgs e){divDiscountCodeCongratulation.Visible = false; } protected void LinkBut​​ton2_Click(object sender, EventArgs e) { divDiscountCodeCongratulation.Visible = true; }

于 2013-01-03T12:01:41.317 回答