2014-10-06 43 views
0

嗨即时尝试为我的网站准备一步一步的mechanisim。首先阿贾克斯模式弹出和更新面板的组合是如此复杂,不能让它的工作..下面是我的一些代码..Asp.NET Ajax ModalPopupExtender工作不正常

<asp:Button ID="fakeButton" runat="server" Style="display: none;" Text="" /> 
<asp:Button ID="fakeButton2" runat="server" Style="display: none;" Text="" /> 
<asp:Button ID="fakeButton3" runat="server" Style="display: none;" Text="" /> 

这是模态窗口之一:

<ajax:ModalPopupExtender ID="mpeOrder2" runat="server" PopupControlID="pnlOrder2" TargetControlID="fakeButton3" 
     BackgroundCssClass="modalBackground"> 
    </ajax:ModalPopupExtender> 
    <asp:Panel ID="pnlOrder2" runat="server" CssClass="modalPopup" Style="display: none"> 
     <asp:UpdatePanel style="text-align: right" ID="updatePanel6" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="True"> 
      <ContentTemplate> 
       <div class="header">Modal - 2</div> 
       <div class="body"> 
        <div class="footer" align="right"> 
         <table> 
          <tr> 
           <td> 
            <asp:Button ID="btnToStepOne" runat="server" OnClick="btnToStepOne_OnClick" Text="Back" CssClass="orderNo" /> 
           </td> 
           <td> 
            <asp:Button ID="btnToStepThree" OnClick="btnToStepThree_OnClick" runat="server" Text="Next" CssClass="yes" /> 
           </td> 
          </tr> 
         </table> 
        </div> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </asp:Panel> 

代码隐藏:

protected void btnToStepOne_OnClick(object sender, EventArgs e) 
{ 
    mpeOrder2.Hide(); 
    mpeOrder.Show(); 
} 

protected void btnToStepThree_OnClick(object sender, EventArgs e) 
{ 
    mpeOrder2.Hide(); 
    mpeOrder3.Show(); 
} 

,其余的是同这些代码。当我点击我的第一个组件打开第一个模式弹出窗口时,它可以工作。然后我点击下一步它再次运作。但之后,当我再次点击下一个看到我的第三个模式弹出每个弹出消失,或者我随机点击下一个和显示按钮modalpopups一起打开,一个在另一个之上...这是生病..

没有这些模式在更新面板中。正如你所看到的,只有面板有自己的更新面板。也即时使用

<ajax:ToolkitScriptManager EnableScriptLocalization="true" EnablePartialRendering="true" EnableScriptGlobalization="true" 
      ID="ToolkitScriptManager1" AsyncPostBackTimeout="36000" runat="server" /> 

任何帮助,将不胜感激。

谢谢。

回答

1

我解决了它在几个小时后....

我忘了关闭面板内我的身体DIV,这就是为什么它的得到嵌套。当我关闭我的身体div一切正常。

<ajax:ModalPopupExtender ID="mpeOrder2" runat="server" PopupControlID="pnlOrder2" TargetControlID="fakeButton3" 
     BackgroundCssClass="modalBackground"> 
    </ajax:ModalPopupExtender> 
    <asp:Panel ID="pnlOrder2" runat="server" CssClass="modalPopup" Style="display: none"> 
     <asp:UpdatePanel style="text-align: right" ID="updatePanel6" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="True"> 
      <ContentTemplate> 
       <div class="header">Modal - 2</div> 
       <div class="body">FINALLY</div> 
        <div class="footer" align="right"> 
         <table> 
          <tr> 
           <td> 
            <asp:Button ID="btnToStepOne" runat="server" OnClick="btnToStepOne_OnClick" Text="Back" CssClass="orderNo" /> 
           </td> 
           <td> 
            <asp:Button ID="btnToStepThree" OnClick="btnToStepThree_OnClick" runat="server" Text="Next" CssClass="yes" /> 
           </td> 
          </tr> 
         </table> 
        </div> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </asp:Panel> 
0

我们在使用ajax弹出窗口时遇到了很多问题。你可能想尝试一下我们在过去几个月里一直使用的方法,解决任何问题。这种方法创建了一个弹出窗口,需要ajax/jquery/javascript/css/update面板。

here:一个模式弹出与使用ajax,更新面板,jQuery或JavaScript。使用非常简单。 http://atldunia.com/youtube/Zpopup.aspx