2011-01-05 66 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()方法進行的任何控制設置。

相關問題