2014-09-19 94 views
0

相同的頭銜,我有我的aspx添加器上如何找到用戶控件的aspx頁面

<%@ Register Src="Controls/EditProduct.ascx" TagName="EditProduct" TagPrefix="uc1" %> 

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" 
    CodeBehind="ManageProduct.aspx.cs" Inherits="SAP.NET.UI.Web.Master.Product.ManageProduct" %> 

<%@ Register Src="Controls/EditProduct.ascx" TagName="EditProduct" TagPrefix="uc1" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <uc:OkMessageBox ID="ec" runat="server" /> 
    <div class="breadcrumbs"> 
     <ul> 
      <li><a href="#">Home</a> <i class="icon-angle-right"></i></li> 
      <li><a href="ManageProduct.aspx">Manage Product</a> </li> 
     </ul> 
    </div> 
    <div class="boxed no-padding col-lg-6 col-md-6 col-sm-12 col-xs-12"> 
     <div class="inner"> 

      <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Always"> 
       <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="GridView1" /> 
        <asp:PostBackTrigger ControlID="imagAddNew" /> 
        <asp:AsyncPostBackTrigger ControlID="EditProduct1" /> 
        <asp:PostBackTrigger ControlID="ImageButton1" /> 

       </Triggers> 
       <ContentTemplate> 
     <asp:Panel ID="pnl_grid" Style="width: 100%; overflow: auto;" runat="server"> 
     </asp:Panel> 
        <asp:Panel ID="pnlAddEdit" runat="server" Visible="false"> 
    //// I want to find the below control on my code 
         <uc1:EditProduct ID="EditProduct1" runat="server" /> 
        </asp:Panel> 
       </ContentTemplate> 
      </asp:UpdatePanel> 

如何通過在同一個頁面CS文件代碼中查找該用戶控件EditProduct1。我嘗試下面的代碼來找到控件

//MasterPage _master = (MasterPage) 
    //Panel _aspPanel = (Panel)this.FindControl("pnlAddEdit"); 
    //UserControl _userControl = (UserControl)this.FindControl("EditProduct1"); 
    //FormView ProductsFormView = (FormView)_userControl.FindControl("EditProduct1"); 
    //FindAllTextBoxes(ProductsFormView); 
    ContentPlaceHolder mpContentPlaceHolder; 
    mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1"); 
    // UserControl _ctrl = (UserControl)mpContentPlaceHolder.FindControl("EditProduct1"); 
    UserControl _uc1 = (UserControl)this.Page.FindControl("EditProduct1"); 
+0

如果您在頁面上搜索,你會不會發現直接控制,因爲它是嵌套在'pnlAddEdit'。嘗試遞歸搜索。 – Alexander 2014-09-19 10:22:16

+0

@Alexander我也試試這個而不是sucess :( – 2014-09-19 10:23:14

+0

你是怎麼試試吧 – Alexander 2014-09-19 10:29:15

回答

1

試試這個,去除可見=「假」

Panel a = (Panel)pnlAddEdit; 
UserControl ab = (UserControl)a.FindControl("EditProduct1"); 
+0

沒有必要刪除Visible =」假「面板 – Amol 2014-09-19 11:23:03

0

UpdatePanel具有ContentTemplateContainer屬性。此容器有一個Controls集合。在這個系列裏你會找到你的EditProduct

+0

但我無法找到Updatepanel – 2014-09-19 10:38:36

+0

只需使用它,它應該在CodeBehind中聲明並可用? – Alexander 2014-09-19 11:12:59

相關問題