我有一个用户控件,每当用户单击按钮时,我都会在页面上添加该控件。以下是添加控件的代码。
protected void Page_Init(object sender, EventArgs e)
{
    if (Session["ControlCount"] != null)
    {
        for (int i = 1; i <= (int)Session["ControlCount"]; i++)
        {
            Control myUserControl = LoadControl("~/Controls/MessageControl.ascx");
            divMessageControl.Controls.Add(myUserControl);
        }
    }
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnExpand_Click(object sender, EventArgs e)
{
    int count = 0;
    if (Session["ControlCount"] != null)
    {
        count = Convert.ToInt32(Session["ControlCount"]);
    }
    Control myUserControl = (Control)Page.LoadControl("~/Controls/MessageControl.ascx");
    divMessageControl.Controls.Add(myUserControl);
    Session["ControlCount"] = count + 1;
}
此控件具有 ModalPopupExtender 弹出窗口。当我在页面上添加第二个控件时,它会在内部引发一个错误,我可以在 firebug 中看到该错误。如何使这个弹出 id 独一无二?
<asp:ModalPopupExtender ID="mpeReply" BehaviorID="mpeReply" runat="server" TargetControlID="btnReply"
    PopupControlID="pnlReply" BackgroundCssClass="ModalPopupBG1">
</asp:ModalPopupExtender>
Sys.InvalidOperationException:Sys.InvalidOperationException:无法将具有相同 id 'mpeReply' 的两个组件添加到应用程序中。