2010-12-23 5 views
2

У меня есть метод страницы и вызова внутри моей страницы. Я хочу добавить элемент управления к моей странице Control (не самой странице) внутри этого метода.Добавить UserControl на страницу Из другого класса

Мои Default.aspx:

<%@ Page Title="Home Page" MasterPageFile="~/Site.master" ... %> 

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> 
</asp:Content> 

и код Сзади:

namespace Program 
{ 
    public partail class Default : Page 
    { 
     protected void Page_Load(object sender, Eventargs e) 
     { 
       MyClass.Calling(this); 
     } 
    } 
} 

мой другой класс

namespace Program 
{ 
    public class MyClass 
    { 
     public static void Calling(Page page) 
     { 
       Textbox txt = new Textbox() 
       // I want somthing like this: 
       // page.PlaceHolder1.Controls.Add(txt); 
     } 
    } 
} 

Возможно ли это?

Обновление: Благодаря @ The King.

ответ

4

Я сожалею о моих предыдущих ответах не работает для вас .. Я только написал это из моей памяти ... Вот рабочий раствор ... Сначала нужно найти владелец контента место, прежде чем найти свой держатель место ...

Примечание: Пожалуйста, используйте ContentPlaceHolderID и не идентификатор содержимого тега ...

namespace Program 
{ 
    public class MyClass 
    { 
     public static void Calling(Page page) 
     { 
      ContentPlaceHolder cph = page.Master.FindControl("ContentPlaceHolder1") as ContentPlaceHolder; 
      if (cph == null) 
      { 
        return; 
      } 

      PlaceHolder ph = cph.FindControl("PlaceHolder1") as PlaceHolder; 
      if (ph != null) 
      { 
       ph.Controls.Add(new TextBox()); 
      } 
     } 
    } 
} 

Пожалуйста, обратитесь к истории изменений для моего старого отве ers ...

+0

Я пробовал! но ph is null ... – Raika

+0

У вас есть правильное имя управления «PlaceHolder1» ... и это элемент управления, доступный на вызывающей странице ... –

+0

Да, я проверяю его дважды, только управление на странице ASP .site_master – Raika

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