2011-01-05 63 views
2

我必须在Web部件中添加下拉控件。 我渲染使用HTML字符串如下部分...如何在呈现控件时重新获得自动加载

StringBuilder的某人=新的StringBuilder();

sb.Append(DIV ID = “内容); 有字符串中引号

sb.Append(DIV类=” “HB” “>”); * sb.Append(div class =“someclass”“>”); * sb.Append(h2 id =“”contentpage_title“”> Title“); ** sb.Append(DIV类= “” ctn_conferences “”>“); * *

writer.Write(sb.ToString()); *

我必须添加加载的下拉控制,所以,我宣布..

保护的DropDownList ddMyDropDown =新的DropDownList();

然后加入续ROL中的中间渲染,我想如下...

ddMyDropDown.RenderControl(作家);

一切都很好....除了...回发不工作。 我的事件处理程序没有得到执行。

当我添加控件...像Controls.Add(控制)然后它添加在该部分的底部。这不是我想要的。

那么如何让帖子回到工作?

在此先感谢。

-Satyen

回答

1

您已经为渲染方法覆盖,但添加以下正确的观念:

protected DropDownList ddMyDropDown; 

protected override void CreateChildControls() 
{ 
    base.CreateChildControls(); 
    ddMyDropDown = new DropDownList(); 
    ddMyDropDown.AutoPostBack = true; 
    Controls.Add(ddMyDropDown); 
} 

此外,在渲染方法覆盖调用EnsureChildControls(),然后再尝试和渲染通过CreateChildControls()方法进行的任何控制设置。

相关问题