【问题标题】:Multiple ModalPopUpExtenders on one page inside a UserControlUserControl 内的一页上有多个 ModalPopUpExtenders
【发布时间】:2010-10-12 14:32:07
【问题描述】:
我在 UserControl 中有 1 个 ModalPopupExtender。在我开始向页面添加相同的用户控件之前,一切都很好。我在 javascript 控制台中收到此错误消息::
消息:Sys.InvalidOperationException:无法将具有相同 id 'MPE1' 的两个组件添加到应用程序中。
我理解错误,很明显框架需要唯一的 ID。我想不通的是如何给他们唯一的名字。提前感谢您的帮助。
【问题讨论】:
标签:
javascript
asp.net
ajax
asp.net-ajax
ajaxcontroltoolkit
【解决方案1】:
Brian,谢谢,但这是在 .NET 2.0 中。
解决这个问题的简单方法是删除标签“BehaviorID”。这就是我现在要使用的选项,我只是希望将来我不必使用 JS 来调用任何弹出窗口。
【解决方案2】:
您是否使用带有静态 ClientIDMode 的 .NET 4?这会导致问题,尽管使用默认或预测选项,这应该可以工作......检查客户端足迹,查看所有 ID 是否都是 MPE1 或如何完成。它应该是 uc1_MPE1。如果您有两个具有相同 ID(或空 ID)的 UC,则会导致问题。
HTH。
【解决方案3】:
有两种方法可以解决这个问题:
- 按照ssparacio 的说明执行操作并删除 BehaviorID 标记。如果您不需要对控件进行客户端调用,则可以执行此操作。
- 在 Page_Init 期间为 BehaviourID 分配一个唯一值。一个不错的选择是定义控件的用户控件的 ID。