C# 将html添加到CreateChildControls()方法
我正在CreateChildControls()方法的Web部件中使用MOSS 2007,代码如下: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
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