SHAHBAZ-1706 Ответов: 2

Мне нужно несколько панелей, чтобы спрятаться в них ASP.NET с#


вот основная функция для скрытия панели

private void LoadPaymentPanels()
        {
            if (ddl_BuyCredits_PaymentMethodTypes.SelectedIndex == 0)
            {
                Bank_Mobile.Visible = true;
                Mobile_Payment.Visible = false;
                CreditCardPanel.Visible = false;
            }
            else if (ddl_BuyCredits_PaymentMethodTypes.SelectedIndex == 1)
            {
                Bank_Mobile.Visible = false;
                Mobile_Payment.Visible = true;
                CreditCardPanel.Visible = false;
            }
            else if (ddl_BuyCredits_PaymentMethodTypes.SelectedIndex == 2)
            {
                Bank_Mobile.Visible = false;
                Mobile_Payment.Visible = false;
                CreditCardPanel.Visible = true;
            }
        }


Что я уже пробовал:

Но мне нужна одна функция, чтобы показать одну панель за один раз, а оставшаяся будет автоматически скрываться или вручную скрываться с помощью функции ... пожалуйста, помогите мне..

2 Ответов

Рейтинг:
6

Richard Deeming

Звучит так, как будто вы ищете то MultiView контроль[^].

<asp:MultiView id="Payment_Panels" runat="server">
<asp:View id="Bank_Mobile" runat="server">
    ...
</asp:View>
<asp:View id="Mobile_Payment" runat="server">
    ...
</asp:View>
<asp:View id="CreditCardPanel" runat="server">
    ...
</asp:View>
</asp:MultiView>
private void LoadPaymentPanels()
{
    Payment_Panels.ActiveViewIndex = ddl_BuyCredits_PaymentMethodTypes.SelectedIndex;
}


Рейтинг:
13

F-ES Sitecore

private void LoadPaymentPanels()
{
    Panel[] panels = new Panel[] { Bank_Mobile, Mobile_Payment, CreditCardPanel };

    foreach(var panel in panels)
    {
        panel.Visible = false;
    }

    panels[ddl_BuyCredits_PaymentMethodTypes.SelectedIndex].Visible = true;
}