2015-12-14 88 views
1

当我单击Linkbutton2时,整个页面被重新加载。但是,如果我只是删除id =“addLineModal”div但保持其内容完好无损,当我然后单击Linkbutton2时,updatepanel正常工作。任何想法为什么一个模式会打破更新面板?这里是代码:引导模式窗口导致updatepanel重新加载整个页面

<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="PriceAndLeadTimeRequest.aspx.vb" Inherits="PriceAndLeadTimeRequest" %> 

<%@ MasterType VirtualPath="./MasterPage.master" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 

    <asp:LinkButton ID="OpenTheModal" runat="server" CssClass="btn btn-sm btn-primary" Style="margin-top: 7px;" data-toggle="modal" data-target="#addLineModal"><i class="fa fa-plus"></i> Add New Line Item</asp:LinkButton> 

    <asp:UpdatePanel ID="udpAddLineModal" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <div class="modal inmodal fade" id="addLineModal" tabindex="-1" role="dialog" aria-hidden="true"> 
       <div class="modal-dialog modal-md"> 
        <div class="modal-content"> 
         <div class="modal-header"> 
         </div> 
         <div class="modal-body"> 
          <div class="row"> 
           <div class="col-sm-10"> 
            <div class="form-group" runat="server" id="divCollection"> 
             <label class="col-xs-3 control-label">Press:</label> 
             <div class="col-xs-9"> 

              <asp:LinkButton ID="LinkButton2" runat="server">LinkButton</asp:LinkButton> 
             </div> 
            </div> 

           </div> 
          </div> 
         </div> 

        </div> 
       </div> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

    <!-- Mainly scripts --> 
    <script src="js/jquery-2.1.1.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
    <script src="js/plugins/metisMenu/jquery.metisMenu.js"></script> 
    <script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script> 

    <!-- Custom and plugin javascript --> 
    <script src="js/inspinia.js"></script> 
    <script src="js/plugins/pace/pace.min.js"></script> 

    <!-- Jquery Validate --> 
    <script src="js/plugins/validate/jquery.validate.min.js"></script> 

    <!-- jQuery UI --> 
    <script src="js/plugins/jquery-ui/jquery-ui.min.js"></script> 

</asp:Content> 

回答

1

我发现有什么问题。我会在这里发布答案,因为在这个问题上,我在Google上找不到任何其他内容。这里有问题:

  1. slimscroll文件是导致updatepanel执行整页回发的主要罪魁祸首。我评论说。

  2. 除了slimscroll文件之外,updatepanel执行完整页面回发的另一个原因是因为在masterpage中,我有ClientIDMode =“Static”。我必须将下拉菜单设置为ClientIDMode =“AutoID”

  3. 为了避免模态消失,我必须做的最后一件事情是,我不得不移动模态内容div中的updatepanel而不是包含整个模式在updatepanel中。

希望这可以防止别人失去他们的想法,就像我几乎做到了! :)

+0

第二个UpdatePanel为我工作,节省了大量的时间浪费。仍然没有道理。谢谢! – ErTR