C# 将html添加到CreateChildControls()方法

C# 将html添加到CreateChildControls()方法,c#,moss,sharepoint-2007,web-parts,C#,Moss,Sharepoint 2007,Web Parts,我正在CreateChildControls()方法的Web部件中使用MOSS 2007,代码如下: protected override void CreateChildControls() { base.CreateChildControls(); Panel myPanel = new Panel(); myPanel.ID = "SelectionPanel"; this.Controls.Add

我正在CreateChildControls()方法的Web部件中使用MOSS 2007,代码如下:

     protected override void CreateChildControls()
        {
        base.CreateChildControls();

        Panel myPanel = new Panel();
        myPanel.ID = "SelectionPanel";
        this.Controls.Add(myPanel);

        this.myGridView = new GridView();
        createMyGridView(ref myGridView);
        myPanel.Controls.Add(myGridView);

        this._btnUpdate = new Button();
        this._btnUpdate.Text = "Update";
        myPanel.Controls.Add(_btnUpdate);
        this._btnUpdate.Click += new EventHandler(_btnUpdate_Click);
}
我的问题是如何插入html,以便在这些控件周围使用div,而不使用RenderWebPart()方法

我试图实现这一点,因为我不想使用其id将是自动生成的客户端id的面板


非常感谢,

面板
呈现为
。试试这个:

protected override void CreateChildControls()
{
    base.CreateChildControls();

    Panel around = new Panel();

    Panel myPanel = new Panel();
    myPanel.ID = "SelectionPanel";
    around.Controls.Add(myPanel);

    // ... other controls ... \\

    this.Controls.Add(around);
}

我不确定是否有某种原因这对web部件不起作用,但这似乎对web用户控件起到了作用:

protected override void CreateChildControls()
{
base.CreateChildControls();

var container = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
container.Attributes.Add("id","SelectionPanel");

TextBox tb = new TextBox();
container.Controls.Add(tb);

this.Controls.Add(container);

}

我正在使用类似的工具,我想在我的自定义Web部件中添加新的SP 2013“+添加新公告”

我试过这个方法,效果很好,但我不知道这是不是一个好方法。基本上你可以把我发现的任何html放到一个LiteralControl中

string contents = "<div class=\"ms-comm-heroLinkContainer wp-custom-addnew\"><a id=\"forum0-NewPostLink\" class=\"ms-textXLarge ms-heroCommandLink\" title=\"add new announcement\" href=\"" + list.DefaultNewFormUrl + "\"><span class=\"ms-list-addnew-imgSpan20\"><img class=\"ms-list-addnew-img20\" src=\"/_layouts/15/images/company/SPSPrite.png\"></span><span>New Announcement</span></a><div class=\"ms-clear\"></div></div>";

LiteralControl link = new LiteralControl(contents);

this.Controls.Add(link);
string contents=”“;
LiteralControl链接=新的LiteralControl(内容);
this.Controls.Add(link);

请告诉我是否有更好的方法发布“原始自定义”html。

对不起,我已经尝试过了,但这会在面板上生成一个我不想要的自动生成的客户端id