无法设置动态创建的用户控件的ID

时间:2012-01-07 22:01:27

标签: .net user-controls

我使用此代码创建UserControl:

    Control UserControl = Page.LoadControl("/datatypes/TextString.ascx");
    UserControl.ID = "CTR_" + Alias;
    e.Item.FindControl("ControlHolder").Controls.Add(UserControl);

控件在页面上呈现,但ID未设置。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

即使您没有自己设置ID,也应始终设置ID。

.Net 4有some new mechanisms用于处理ID,但没有一个会导致ID丢失。但是,如果您的问题是ID已更改,则可能是您感兴趣的内容。

此外,您应该验证页面生命周期中添加动态控件的点。为了在回发中生存,必须在Page_Init方法中添加它,并且必须始终添加它(无论是否是回发)。