首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将html添加到CreateChildControls()方法

将html添加到CreateChildControls()方法
EN

Stack Overflow用户
提问于 2010-01-24 22:51:53
回答 3查看 5.6K关注 0票数 2

我在CreateChildControls()方法中的webpart中使用MOSS 2007,下面的代码如下所示:

代码语言:javascript
复制
     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。

非常感谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-24 23:26:35

我不确定这是否有什么原因不适用于web部件,但对于web用户控件来说,这似乎是有用的:

代码语言:javascript
复制
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);

}
票数 2
EN

Stack Overflow用户

发布于 2010-01-24 22:59:15

Panel呈现为<div>。试试这个:

代码语言:javascript
复制
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);
}
票数 1
EN

Stack Overflow用户

发布于 2013-07-19 06:38:53

我正在做一些类似的事情,我想把新的SP 2013“+添加新公告”放在我的自定义webpart中。

我试过了,但我不知道这是否是个好方法。基本上你可以把html放在我发现的垃圾控制装置里.

代码语言:javascript
复制
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);

如果有更好的方式张贴“原始自定义”html,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2129255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档