2011-05-18 97 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操纵页面的控件。 我认为你应该扩展页面,在这个你应该做你想做的。