使用模板自定义WebControl

时间:2011-09-19 17:29:38

标签: c# asp.net templates

我得到了这个代码,我希望将模板合并到其中。没什么好看的,只是将一些内容添加到控件中的特定位置

public class SiteTitle : WebControl, INamingContainer
{
    public string Title { get; set; }

    protected override void Render(HtmlTextWriter writer)
    {
        CreateSiteTitle(writer);
    }

    private void CreateSiteTitle(HtmlTextWriter writer)
    {
        writer.RenderBeginTag(HtmlTextWriterTag.H3);
        writer.Write(this.Title);
        // RENDER THE HTML FROM THE TEMPLATE
        writer.RenderEndTag();
    }
}

我希望像这样使用它:

<my:SiteTitle ID="SiteTitle1" runat="server" Title="Test Control">
    <RightContainer>
        <p>HTML</p>
    </RightContainer>
</my:SiteTitle>

我曾尝试搞乱ITemplate等等,但我做不到。 有人可以提供我可以使用的示例吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

看看这个:

http://msdn.microsoft.com/en-us/library/aa719862%28v=vs.71%29.aspx

这里实现的关键方法是InstantiateIn()...