1

次のような div を持つユーザー コントロールがあります。

 <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>

このコントロールが配置されているページの読み込み時に、visible = false を作成しています。次に、同じページの別のコントロールから、次のように表示しようとしています:

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

        pnlShippingMethods.Visible = true;

div ではなく、他のユーザー コントロールから可視/不可視のユーザー コントロール CheckoutShippingMethod を作成できます。見えるようにする方法を教えてください

4

1 に答える 1

3

代わりに public メソッドを使用できます。

1)パネルを表示/非表示にするカスタムコントロールでパブリックメソッド/プロパティを作成します。

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

2) 他のコントロールからこれを呼び出して、非表示パネルを表示します。

yourCustomrControlObject.ShowPanel(true);
于 2012-06-27T07:20:59.490 に答える