Javascript UserControl内的一个页面上有多个ModalPopupExtender

Javascript UserControl内的一个页面上有多个ModalPopupExtender,javascript,asp.net,ajax,asp.net-ajax,ajaxcontroltoolkit,Javascript,Asp.net,Ajax,Asp.net Ajax,Ajaxcontroltoolkit,我在用户控件中有1个ModalPopupXtender。在我开始向页面添加相同的usercontrol之前,一切都很好。我在javascript控制台中收到以下错误消息: 消息:Sys.invalidoOperationException:无法将具有相同id“MPE1”的两个组件添加到应用程序中 我理解这个错误,很明显框架需要唯一的ID。我搞不懂的是如何给他们起一个唯一的名字。提前感谢您的帮助 您是否将.NET 4与静态客户端模式一起使用?这将导致问题,尽管使用默认或预测选项,这应该可以工作。。

我在用户控件中有1个ModalPopupXtender。在我开始向页面添加相同的usercontrol之前,一切都很好。我在javascript控制台中收到以下错误消息:

消息:Sys.invalidoOperationException:无法将具有相同id“MPE1”的两个组件添加到应用程序中


我理解这个错误,很明显框架需要唯一的ID。我搞不懂的是如何给他们起一个唯一的名字。提前感谢您的帮助

您是否将.NET 4与静态客户端模式一起使用?这将导致问题,尽管使用默认或预测选项,这应该可以工作。。。检查客户机示意图,查看是否所有ID都是MPE1或是如何实现的。它应该是uc1\u MPE1。如果您有两个具有相同ID(或空ID)的UC,则会导致问题


HTH.

您是否使用.NET4和静态的ClientMode?这将导致问题,尽管使用默认或预测选项,这应该可以工作。。。检查客户机示意图,查看是否所有ID都是MPE1或是如何实现的。它应该是uc1\u MPE1。如果您有两个具有相同ID(或空ID)的UC,则会导致问题


嗯。

布莱恩,谢谢,但这是在.NET2.0中


解决这个问题的简单方法是删除标记“BehaviorID”。这就是我现在要使用的选项,我只是希望将来我不必使用JS调用任何弹出窗口

Brian,谢谢,但这是在.NET2.0中


解决这个问题的简单方法是删除标记“BehaviorID”。这就是我现在要使用的选项,我只是希望将来我不必使用JS调用任何弹出窗口

有两种方法可以解决这个问题:

  • 按照ssparacio的说明执行,并删除BehaviorID标记。如果不需要对控件进行客户端调用,则可以执行此操作
  • 在Page_Init期间为Behavior ID分配唯一值。一个好的选择是定义控件的用户控件的ID

  • 有两种方法可以解决此问题:

  • 按照ssparacio的说明执行,并删除BehaviorID标记。如果不需要对控件进行客户端调用,则可以执行此操作
  • 在Page_Init期间为Behavior ID分配唯一值。一个好的选择是定义控件的用户控件的ID

  • 请发布代码示例。请发布代码示例。