在用户控件中调用用户控件

时间:2014-06-30 10:49:41

标签: c# asp.net

您好我有两个用户控件。

第一个用户控件有一个按钮,第二个用户控件有一个弹出控件。 我在第一个用户控件中使用id = ctlPopUp

注册了第二个用户控件

按钮的Onclick事件我必须显示弹出控件。

我试过

  protected void btnUser_Click(object sender, EventArgs e)
    {
      var userCtlPopup = ctlPopUp.FindControl("pcDownload");
    userCtlPopup.Visible = true;
    }

It doesn't work. Can you please suggest?

Hi here is the user control markups:
POpupUsercontrol:
<div id="divDownload" runat="server" visible="true">
        <dx:aspxpopupcontrol id="pcDownload" runat="server" showpagescrollbarwhenmodal="true"
            clientinstancename="pcDownload" enableclientsideapi="true" modal="True" popuphorizontalalign="WindowCenter"
            popupverticalalign="WindowCenter" showheader="false" allowdragging="True" enableanimation="False"
            enableviewstate="False" width="600px" autoupdateposition="true" closeaction="CloseButton">
                        <ContentCollection>
                            <dx:PopupControlContentControl ID="PopupControlContentControl4" runat="server"
                                Width="100%">
                                <dx:ASPxPanel ID="ASPxPanel3" runat="server">
                                    <PanelCollection>
                                        <dx:PanelContent ID="PanelContent4" runat="server">
                                            <div>
                                                <table class="cChildTable">
                                                    <tr>
                                                        <td>
                                                            <h3>Download</h3>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td class="auto-style1">
                                                            <div class="hr">
                                                            </div>
                                                            <asp:Label ID="lblDownLoadMessages" runat="server" CssClass="cMessageArea"></asp:Label>
                                                        </td>
                                                    </tr>
                                                </table>
                                                <table class="cChildTable" border="0">
                                                    <tr><td style="font:bold" colspan="2"><asp:Label ID="Title" runat="server" Text="Content Link Title"></asp:Label></td></tr>
                                                    <tr>
                                                        <td style="vertical-align: top; width: 30px; padding: 2px" rowspan="8">
                                                            <asp:CheckBox ID="chkImg" runat="server" AutoPostBack="True" Checked="true" />
                                                        </td>
                                                        <td style="vertical-align: top" rowspan="3">
                                                            <asp:Image runat="server" ID="imgUpload" Width="100px" Height="100px" Style="top: 0px;" AlternateText="No Image" />                       
                                                        </td>
                                                        <td>
                                                            <asp:CheckBox ID="chkName" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblName" runat="server" Text="Name:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtName" runat="server" CssClass="cText" Width="300px" MaxLength="75"></asp:TextBox>
                                                        </td>                    
                                                    </tr> 
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkCompany" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblCompany" runat="server" Text="Company:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtCompany" runat="server" CssClass="cText" Width="300px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkAddress" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblAddress" runat="server" Text="Address:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtAddress" runat="server" CssClass="cText" Width="300px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                         <td rowspan="5" style="vertical-align:top"><asp:LinkButton ID="lnkAddImg" runat="server"> </asp:LinkButton></td>              
                                                        <td>
                                                            <asp:CheckBox ID="chkCtyStateZip" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblCtyStateZip" runat="server" Text="City, State Zip:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtCtyStateZip" runat="server" CssClass="cText" Width="300px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkPhone" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblPhone" runat="server" Text="Phone:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtPhone" runat="server" CssClass="cText" Width="150px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkFax" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblFax" runat="server" Text="Fax:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtFax" runat="server" CssClass="cText" Width="150px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkEmail" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblEmail" runat="server" Text="Email:" Width="90px"></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtEmail" runat="server" CssClass="cText" Width="150px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="chkOther" runat="server"
                                                                AutoPostBack="true" />
                                                        </td>                                                     
                                                        <td class="cLabel" style="width: 15%">
                                                            <asp:Label ID="lblOther" runat="server" Text="Other:" Width="90px "></asp:Label>
                                                        </td>
                                                        <td>
                                                            <asp:TextBox ID="txtOther" runat="server" CssClass="cText" Width="150px" MaxLength="75"></asp:TextBox>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td colspan="4">
                                                            <div class="buttons">
                                                                <span id="span2" class="cBtnLeft"><span class="cBtnMid"><span class="cBtnRight">
                                                                    <asp:Button ID="btnDownLoad" runat="server" Width="65px" CssClass="cBtnRight" Text="Download"
                                                                       OnClick="btnDownLoad_Click"/>
                                                                </span></span></span><span id="span1" class="cBtnLeft"><span class="cBtnMid"><span
                                                                    class="cBtnRight">
                                                                    <asp:Button ID="btnCancel" runat="server" Width="65px" CssClass="cBtnRight" Text="Cancel"
                                                                        Visible="true" OnClick="btnCancel_Click" />
                                                                </span></span></span>
                                                            </div>
                                                        </td>
                                                    </tr>
                                                </table>
                                             </div>
                                            </dx:PanelContent>
                                        </PanelCollection>
                                    </dx:ASPxPanel>
                                </dx:PopupControlContentControl>
                                </ContentCollection>
             </dx:aspxpopupcontrol>    
    </div>
Usercontrol where the popup user control is called
<asp:Panel runat="server" ID="pnlCategoryDetail" Width="100%">
    <dx:ASPxDataView ID="dvMARCCategoryDetail" runat="server" Width="100%"
        ClientInstanceName="dvMARCCategoryDetail" style="clear: both" ColumnCount="2" RowsPerPage="2" OnPageIndexChanged="dvMARCCategoryDetail_PageIndexChanged">       
        <itemtemplate>
            <table>
                <tbody>
                    <tr>
                        <td>
                            <table>  
                                <tr>
                        <td>
                            <asp:Image ID="ModelImage" runat="server" ImageUrl='<%#Eval("ImageUrl") %>'>
                            </asp:Image>
                        </td>                      
                        <td>
                            <div style="width: 5px" class="Spacer">
                            </div>
                        </td>                       
                                    </tr>                     
                               </table> 
                        </td>
                        <td>
                            <table>
                                <tr>
                                     <td>
                            <asp:Label ID="ModelLabel" runat="server" Text='<%# Eval("DocumentName") %>' Font-Bold="True"
                                >
                            </asp:Label></td>
                                </tr>
                      <tr>
                          <td style="text-align:left;padding-bottom:1em;">
                          <asp:Label ID ="txtText1" runat="server" Text="The May edition of News Brief contains seven newsworthy articles"></asp:Label>
                         </td>    
                    </tr>
                     <tr>
                          <td>
                          <asp:Label ID ="txtText2" runat="server" Text="Suggested Subject Line: The May 2014 News Brief has arrived!"></asp:Label>
                         </td>                                                       
                    </tr>
                   <tr> 
                       <td style="white-space:nowrap;">                          
                           <a id="clink2" style="width:60px">Content Link 1</a>   
                           <asp:ImageButton  ID="ImageButton2" runat="server" OnClick="btnArrow_Click" ImageUrl="~/Images/DownloadArrow.png" ToolTip="Download Item" style="padding-top:8px"/>
                           <asp:ImageButton  ID="ImageButton1" runat="server" OnClick="btnAdd_Click" ImageUrl="~/Images/Add.png" ToolTip="Add Item" style="padding-top:8px"/>                         
                         </td>
                          <td> </td></tr>
                    </table>
                     </td>                                
                    </tr>
                </tbody>
            </table>
        </itemtemplate>
        <paddings padding="0px" />
        <itemstyle height="50px">
        </itemstyle>
    </dx:ASPxDataView>
</asp:Panel>    
<div id="divCategoryPopup" runat="server">
    <downloadPopUp:categoryPopup id="ctlPopUp" runat="server"></downloadPopUp:categoryPopup>
</div>

点击btnArrow_Click后,应显示弹出式用户控件

0 个答案:

没有答案