在不包含DIV的UserControl中呈现WebPart

本文关键字:WebPart UserControl 包含 DIV | 更新日期: 2023-09-27 18:13:26

我正在构建一个usercontrol来放置webpart在我的pagelayouts

我基本上在做什么:

<uc:WebPartInclude WPName="WebPartName" runat="server"</uc:WebPartInclude>

这一切都很好,除了一件事:它现在用<div> ... </div>包围webpart的内容。

因为我是一个干净代码的傻瓜,这个div必须去^_^

public class WebPartInclude : Control
{
    public string WPName = "";
    private WebControl webPartControl = null;
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        webPartControl = (WebControl)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("full path..." + WPName);
    }
    protected override void Render(HtmlTextWriter writer)
    {
        base.RenderChildren (writer);
    }
    protected override void CreateChildControls()
    {
        if (webPartControl != null)
            Controls.Add(webPartControl);
        ChildControlsCreated = true;
    }
    public override ControlCollection Controls
    {
        get
        {
            EnsureChildControls();
            return base.Controls;
        }
    }
}

所以webpart呈现以下内容:

<div>
    ... webpart contents
</div>

我想让周围的潜水器离开,你知道吗?

在不包含DIV的UserControl中呈现WebPart

嗯,因为没有办法以一种很好的方式修复它,我只是使用HtmlTextWriter将内容写入字符串并剥离周围的<div></div>

问题解决了,只是方式不太好。