protected override void Render(HtmlTextWriter writer)
{
RenderHeader(writer);
base.Render(writer);
RenderFooter(writer);
}
我想知道是否可以添加asp:内容控制在不更改每个*.aspx的情况下从基本页开始?
我做了一个小测试,只要aspx中没有内容就行
public partial class OldPage : Page
{
private MainContentTemplate mainContentTemplate;
protected override void OnPreInit(EventArgs e)
{
Page.MasterPageFile = "~/Site.Master";
mainContentTemplate = new MainContentTemplate();
AddContentTemplate("Main", mainContentTemplate);
base.OnPreInit(e);
}
}
public class MainContentTemplate : ITemplate
{
#region ITemplate Members
void ITemplate.InstantiateIn(Control container)
{
container.Controls.Add(new LiteralControl("Test string"));
}
#endregion
}
但一旦我在前面的代码中添加了一些东西,我就会收到:
内容控件必须是内容页或引用母版页的嵌套母版页中的顶级控件。
我不确定,但我认为重写ControlCollection控件可能会有所帮助,但我还没有找到解决方案。