Re[2]: Шаблоны оформления релизованный на контролах)
От: ketoff  
Дата: 10.12.04 09:24
Оценка:
Здравствуйте, Grey-, Вы писали:
G>Здравствуйте, ketoff, Вы писали:
G>ВОспользуйся поиском по форуму, эту праблему не раз обсуждали, а на Page_Load темплейт ещё не подгрузился поэтому его там нет

Спасибо, Grey. первым делом я поискал, конечно.
И даже вопрос в один из тех топиков кинул — безответно.
Но все же рискну продолжить...
вот класс шаблона template.ascx.cs
public abstract class Template : UserControl, INamingContainer
{
      [ParseChildren(true)]
      protected System.Web.UI.WebControls.PlaceHolder bodyContainer;
      // ... тут обявлены контролы общие для всех страниц (меню и прочее)
      private ITemplate main;
      public ITemplate Body
      {
         get { return this.main; }
         set { this.main = value; }
      }

      public void LoadChildControls()
      {
    this.EnsureChildControls();
      }
      
      protected override void CreateChildControls()
      {
        // здесь заполняются контролы общие для всех страниц (меню и прочее)
       if( null != this.Body ) // здесь помещаем содержимое страницы, то что внутри тегов body в плейсхолдер bodyContainer
       this.Body.InstantiateIn(bodyContainer);
      }
      // ... прикладной код
}


template.ascx файл шаблона:

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="template.ascx.cs" Inherits="Example.Includes.Template" %>
<!--HTML-код и общие для сайта контролы-->
<asp:placeholder id="bodyContainer" runat="server"></asp:placeholder>
<!--HTML-код и общие для сайта контролы-->


Вопрос:
Если внутри Body содержатся контролы они будут вообще распознаны? или они воспринимаются как текст и не парсятся?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.