2011-06-15 70 views
0

我使用ModalPopupExtender:模式弹出消失在回发

<ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="dummyButton2" PopupControlID="DayEntryPanel" CancelControlID="Button3" BackgroundCssClass="backCSS"/> 

每当我点击打开这个DIV,它打开了一两秒钟,然后回传消失一起。

这是一个JavaScript函数,它

  document.getElementById("dummyButton2").click(); 

我敢肯定,这就是问题所在,但我真的很想把这个基本逻辑,我不知道为什么这会导致问题打开。我试过把dummyButton2和扩展器放在自己的更新面板中,没有任何改变。

我可以做一些疯狂的事情,如保留一个变量来决定是否应该显示弹出窗口并在page_load上显示它,如果该变量是真实的,但似乎我正在解决的问题比什么都重要。思考?

+0

你想显示模式页面加载 – Saurabh 2011-06-15 06:57:24

回答

0

,这不是真的是一个好主意,以显示你的弹出窗口,做以下

<ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="dummyButton2" PopupControlID="DayEntryPanel" CancelControlID="Button3" BehaviourId="mpcPopup" BackgroundCssClass="backCSS"/> 

看到我提供了一个beahviour身份证,现在你可以做以下

$find("mpcPopup").show()//show me some popup's 

隐藏弹出

$find("mpcPopup").hide();//zoot bye 
1

查看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> 

的Javascript部分由BUTTON2称为:

<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)并在其客户端功能上定义操作。

HOpe这将帮助ypu解决问题...