模态弹出窗口中的ajax验证器标注扩展器位置问题 - ASP.NET

时间:2011-12-21 06:51:29

标签: asp.net

在模式弹出窗口中,ajax验证器标注扩展器未显示在文本框位置附近。

我找出了这个问题的原因。仅当在模式弹出窗口中发生滚动时才会出现此问题。

如果在模态弹出窗口中没有滚动意味着,ajax验证器标注扩展器会正确显示在正确的位置。

如何解决此问题。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我终于想出了如何使用callout扩展器验证来显示模态对话框。真痛啊!

  • 首先,您必须使用UpdatePanel
  • 然后ContentTemplateaspPanel(或div),表格,其他控件等...
  • 现在这是重要的一部分。验证器必须位于Panel(位于UpdatePanel内)。
  • 此外,ModalPopupExtender必须位于UpdatePanel内(即在ContentTemplate标记内)。
  • 其他优点。
    • UpdatePanel的资源:UpdateMode="Conditional" ChildrenAsTriggers="false"
    • 在面板ScrollBars="None"
  • 和最后一个奇怪的异常(sp?),我不得不设置TargetControlID="hdnStepByStepButton" 一个隐藏的按钮CausesValidation="False"。这与我想要使用的按钮是在我无法使用的UserControl中这一事实有关。
  • 最后但并非最不重要的是,如果您有多个验证器,则需要为该按钮设置ValidationGroup="myGroup",并验证所有其他控件。

希望这有帮助!

祝你好运!这只是切换到Silverlight的另一个原因!!