DotnetSparrow
DotnetSparrow

Reputation: 27996

making div/htmlgeneric control visible using asp.net

I have a user control with a div like this:

 <div runat="server" id="pnlShippingMethods" class="checkoutstep">
                            <div class="steptitle">
                                <%=GetLocaleResourceString("CheckoutOnePage.ShippingMethods.Title")%>
                                <div style="float: right;">                                  
                                </div>
                                Date from checkout page one for ship method update panel is <%= DateTime.Now.ToString() %>
                            </div>
                            <asp:Panel runat="server" ID="pnlShippingMethodsContent" class="stepcontent">
                                <nopCommerce:CheckoutShippingMethod ID="ctrlCheckoutShippingMethod" runat="server"
                                    OnePageCheckout="true" />
                            </asp:Panel>
                        </div>

I am making in visible = false on page load where this control is placed. Then from another control on the same page I am trying to make it visible like this:

HtmlGenericControl pnlShippingMethods = this.Parent.Parent.Parent.Parent.Parent.FindControl("pnlShippingMethods") as HtmlGenericControl;              

        pnlShippingMethods.Visible = true;

I am able to make visible/invisible user control CheckoutShippingMethod from other user control but not the div. Please suggest how to make it visible

Upvotes: 1

Views: 1285

Answers (1)

Adil
Adil

Reputation: 148110

You can use public method instead of it.

1) Make public method/Property in the custom control where you want to show/hide panel.

public void ShowPanel(bool isVisible)
{
   this.pnlShippingMethods.Visible = isVisible;
}

2) Call this from the other control to show hide panel.

yourCustomrControlObject.ShowPanel(true);

Upvotes: 3

Related Questions