回发时模态弹出窗口消失

问题描述

| 我正在使用ModalPopupExtender:
<ajax:ModalPopupExtender ID=\"ModalPopupExtender2\" runat=\"server\" TargetControlID=\"dummyButton2\" PopupControlID=\"DayEntryPanel\" CancelControlID=\"Button3\" BackgroundCssClass=\"backCSS\"/>
每当我单击打开它的div时,它就会打开一两秒钟,然后与回发一起消失。 这是通过执行以下操作的javascript函数打开的
            document.getElementById(\"dummyButton2\").click();
我确定这是问题所在,但我真的很想保留这一基本逻辑,但我不确定为什么会导致此问题。我已经尝试将dummyButton2和扩展器放在其自己的更新面板中,并且没有任何更改。 我可以做一些疯狂的事情,例如保留变量来确定是否应该显示弹出窗口,并在该变量为true的情况下将其显示在page_load上,但这似乎比其他任何事情都更能解决问题。有什么想法吗?     

解决方法

        请参阅aspx部分,
        <asp:Button ID=\"Button1\" runat=\"server\" Text=\"Button\" OnClientClick=\"return Clicked()\" /> //On this button click the popup appears.
     <asp:HiddenField ID=\"HiddenField1\" runat=\"server\" />
   <cc1:ModalPopupExtender ID=\"ModalPopupExtender1\"  runat=\"server\" 
                            PopupControlID=\"popupPanel\"  TargetControlID=\"HiddenField1\" BackgroundCssClass=\"ModClass\"
                            OkControlID=\"button2\" CancelControlID=\"button3\" BehaviorID=\"mdlpop\">
    </cc1:ModalPopupExtender>

   <asp:panel id=\"popuppanel\" runat=\"server\" style=\"display:none; width:200px; background-color:yellow; padding:20px;\">
        <p>are you sure?</p>
        <asp:button id=\"button2\" runat=\"server\" text=\"ok\" OnClientClick=\"Button1_Click()\"   />
        <asp:button id=\"button3\" runat=\"server\" text=\"cancel\" />
    </asp:panel>
button2调用的Javascript部分:
    <script type=\"text/javascript\" language=\"javascript\">
    function Clicked()
    {                   
         $find(\'mdlpop\').show(); //mdlpop is the BehaviorID in ModalPopupExtender1

          return false;      
    } 
    function Button1_Click()
    {
        alert(\"ok is pressed\");
    }   

</script>
*注意:*然后将取消按钮ID设置为ModalPopupExtender1的CancelControlID,它将在单击取消按钮时自动删除弹出窗口。还要将ModalPopupExtender1的PopupControlID设置为您的弹出控件的ID(此处为popuppanel).targetcontrolID也不能保留为空白,因此只需在其中添加一个隐藏字段并为其提供ID(对此没有其他意义)您还可以设置OkControlID(在此将其设置为button2)并在其客户端功能上定义操作。 希望这将有助于ypu解决问题...     ,        这不是显示弹出窗口的好主意,请执行以下操作
<ajax:ModalPopupExtender ID=\"ModalPopupExtender2\" runat=\"server\" TargetControlID=\"dummyButton2\" PopupControlID=\"DayEntryPanel\" CancelControlID=\"Button3\" BehaviourId=\"mpcPopup\" BackgroundCssClass=\"backCSS\"/>
看到我提供了一个beahviour ID,现在您可以执行以下操作
$find(\"mpcPopup\").show()//show me some popup\'s
隐藏弹出窗口
$find(\"mpcPopup\").hide();//zoot bye
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...