2011-05-18 46 views
0

我正在擴展formview類來創建一個客戶端formview,它下面有一個服務器控件+ formview +其他服務器控件。創建自定義FormView

問題是我不能使用

protected override void OnInit(EventArgs e) 
    { 
     Parent.Controls.Add(FormViewButtons); 
     Parent.Controls.Add(this); 
     Parent.Controls.Add(MessageContainerControl); 
    } 

,因爲我得到異常:「控件集合不能在的DataBind,初始化,加載,在PreRender或卸載階段進行修改。」

任何想法? 坦克。

回答

0

你應該創建一個Composite Custom Control,而不是擴展FormView。

+0

tank u。當在頁面中使用System.Web.UI.WebControls.FromView時,我們可以點擊小箭頭編輯ItemTemplate和EditItemTemplte,然後...現在我可以在我的複合控件中啓用此功能。 – 2011-05-18 19:48:57

+0

在這個方法中protected void CreateControlHierarchy() TextBox t = new TextBox(); 標籤l =新標籤(); t.Text =文本; l.Text =標題; Controls.Add(l); Controls.Add(t); } 就像在這個示例中,他們正在向複合控件添加一個TextBox和Label。這是你將添加FormViewButtons,FormView和MessageContainerControl的地方。 – TheGeekYouNeed 2011-05-18 19:50:59

+0

我不明白你的意思。現在我有我的自定義複合控件,由三個控件組成。現在我只想讓我的複合控件顯示像通用FormView那樣的小箭頭來編輯它的項目模板 – 2011-05-18 20:56:11

0

我真的不明白爲什麼應該FormView操縱頁面的控件。 我認爲你應該擴展頁面,在這個你應該做你想做的。