我使用此代码创建UserControl:
Control UserControl = Page.LoadControl("/datatypes/TextString.ascx");
UserControl.ID = "CTR_" + Alias;
e.Item.FindControl("ControlHolder").Controls.Add(UserControl);
控件在页面上呈现,但ID未设置。
我做错了什么?
答案 0 :(得分:1)
即使您没有自己设置ID,也应始终设置ID。
.Net 4有some new mechanisms用于处理ID,但没有一个会导致ID丢失。但是,如果您的问题是ID已更改,则可能是您感兴趣的内容。
此外,您应该验证页面生命周期中添加动态控件的点。为了在回发中生存,必须在Page_Init方法中添加它,并且必须始终添加它(无论是否是回发)。