Здравствуйте, 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 содержатся контролы они будут вообще распознаны? или они воспринимаются как текст и не парсятся?