我必须在Web部件中添加一个下拉控件。 我使用HTML字符串渲染部件如下......
StringBuilder sb = new StringBuilder();
sb.Append(div id =“content”; 字符串中有引号
sb.Append(div class =“”hb“”>“); * sb.Append(div class =“”someclass“”>“); * sb.Append(h2 id =“”contentpage_title“”> Title“); ** sb.Append(div class =“”ctn_conferences“”>“); * *
writer.Write(sb.ToString()); * 的
我必须添加一个加载的下拉控件...所以我声明了..
受保护的DropDownList ddMyDropDown =新的DropDownList();
然后在我想要的渲染中间添加控件,如下所示......
ddMyDropDown.RenderControl(作家);
一切都很好......除了......回帖不起作用。 我的事件处理程序没有被执行。
当我添加控件...如 Controls.Add(Control)时,它会添加到部件的底部。那不是我想要的。
那么如何让帖子恢复工作?
提前致谢。
-Satyen
答案 0 :(得分:1)
您对渲染方法覆盖有正确的想法,但添加以下内容:
protected DropDownList ddMyDropDown;
protected override void CreateChildControls()
{
base.CreateChildControls();
ddMyDropDown = new DropDownList();
ddMyDropDown.AutoPostBack = true;
Controls.Add(ddMyDropDown);
}
此外,在尝试通过CreateChildControls()方法渲染任何控件设置之前,在render方法中重写调用EnsureChildControls()。