1

私は非常に奇妙な状況にあります: asp:panel が 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>

この行にブレークポイントを配置しましたが、その直後にまだ false 値 (デフォルト値) があります。同じ状況は、イミディエイト ウィンドウで設定しようとしたときです。

なぜこれが起こるのか誰か知っていますか??


「divDiscountCodeCongratulation」のすべての親は、Visibility を true に設定する必要があります。

4

2 に答える 2

1

pan1が表示されていることを確認します。見えない場合は、予期される動作です。

于 2013-01-03T22:07:15.847 に答える
0

私はあなたのaspxコードを使用し、私のコードビハインドpage_loadに次のように入力しました:divDiscountCodeCongratulation.Visible = false;

パネルの可視性は false に設定されています。つまり、divDiscountCodeCongratulation は表示されません。

パネルの可視性のデフォルト値は、デフォルト値が False であると述べたように、False ではなく True です。パネルの可視性が 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 LinkBut​​ton1_Click(object sender, EventArgs e) { divDiscountCodeCongratulation.Visible = false; } protected void LinkBut​​ton2_Click(オブジェクト送信者, EventArgs e) { divDiscountCodeCongratulation.Visible = true; }

于 2013-01-03T12:01:41.317 に答える