2014-09-19 3 views
0

же, как название я имею добавить контроль над моей ASPXКак найти UserControl на 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> 

Как найти UserControl EditProduct1 кодом на одной странице CS файла. Я пытаюсь выполнить код, чтобы найти контроль

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

+0

@Alexander я также попробовать это, но не Sucess :( –

+0

Как вы попробуете – Alexander

ответ

1

Try This удалить Visible = «ложь»

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

Нет необходимости удалять Visible =" false "для панели – Amol

0

The UpdatePanel имеет ContentTemplateContainer. Этот контейнер имеет коллекцию Controls. Внутри этой коллекции вы найдете свой EditProduct.

+0

Но я не могу найти Updatepanel –

+0

Просто используйте его, он должен быть объявлен в CodeBehind и доступен? – Alexander

Смежные вопросы