2016-09-21 27 views
0

我有一个引导模式我想要显示为了执行搜索并选择ASP.NET Web窗体中的funcionality。问题是当用户点击“搜索”按钮时,模式关闭。我希望模态保持打开状态,以在下面的GridView上显示搜索结果,并在用户选择任何GridView项目时关闭。防止引导模式关闭回发在ASP.NET中

我试过其他线程中提到的其他解决方案,但似乎没有任何工作。我正在使用一个带有Master页面的WebForm,我不知道它是否会成为问题的原因。

这是我的模态代码:

<div class="modal fade" id="modSearchByAccount" role="dialog"> 
<div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Search by Account</h4> 
     </div> 
     <div class="modal-body"> 
      <div class="row"> 
       <div class="col-md-8"> 
        <asp:TextBox ID="txtSearchText" runat="server" CssClass="form-control" placeholder="Account name"></asp:TextBox> 
       </div> 
       <div class="col-md-4"> 
        <asp:Button ID="btnSearchAccount" runat="server" OnClick="btnSearchAccount_Click" Text="Buscar" CssClass="btn btn-default" /> 
       </div>  
      </div> 
      <div class="row"> 
       <div class="col-md-12"> 
        <asp:Panel ID="pnlSearchResults" runat="server" ScrollBars="Vertical" Height="200px" Width="100%"> 
         <asp:GridView ID="gvSearchResults" runat="server" AutoGenerateColumns="False" DataKeyNames="ACCOUNT_ID" OnSelectedIndexChanged="gvSearchResults_SelectedIndexChanged" CssClass="table table-striped table-hover"> 
          <Columns> 
           <asp:BoundField DataField="ACCOUNT_ID" HeaderText="ID" /> 
           <asp:BoundField DataField="ACCOUNT_NAME" HeaderText="Name" /> 
           <asp:CommandField ShowSelectButton ="true" /> 
          </Columns> 
         </asp:GridView> 
        </asp:Panel> 
       </div> 
      </div> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 
</div> 

任何想法?我可以在这里的某处使用UpdatePanel吗?

在此先感谢!

+1

如果按钮导致一个后退则模态不打烊时, *网页正在重新加载*。当页面加载时,您需要触发模式重新打开。或者可能通过AJAX执行操作,而不是首先重新加载页面。 – David

+0

我试图重新打开模式,但它看起来不太好,它隐藏并显示第二泡沫。我可以在模式和按钮周围使用UpdatePanel吗? –

+0

您可以使用ajax来完成帖子而不是完整的帖子吗?这样你可以防止帖子的默认动作(所以没有重新加载),并且根据返回的内容更新表单。然后确保在发布数据的按钮上没有关闭属性。 – Kolichikov

回答

0

现在可能太晚了,但是可以做到。关键是要有一个外部的UpdatePanel和一个内部的UpdatePanel。外部面板应设置为条件的UpdateMode,并且ChildrenAsTriggers = true。

在我的情况,我搬到内身体成用户控制,但你的代码示例应该如下工作:

<asp:UpdatePanel runat="server" ID="updatePanelTop" UpdateMode="Conditional" ChildrenAsTriggers="True"> 
<ContentTemplate> 
    <div class="modal fade" id="modSearchByAccount" role="dialog"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title">Search by Account</h4> 
      </div> 
      <div class="modal-body"> 
       <asp:UpdatePanel runat="server"> 
       <ContentTemplate> 
        <div class="row"> 
         <div class="col-md-8"> 
          <asp:TextBox ID="txtSearchText" runat="server" CssClass="form-control" placeholder="Account name"></asp:TextBox> 
         </div> 
         <div class="col-md-4"> 
          <asp:Button ID="btnSearchAccount" runat="server" OnClick="btnSearchAccount_Click" Text="Buscar" CssClass="btn btn-default" /> 
         </div>  
        </div> 
        <div class="row"> 
         <div class="col-md-12"> 
          <asp:Panel ID="pnlSearchResults" runat="server" ScrollBars="Vertical" Height="200px" Width="100%"> 
           <asp:GridView ID="gvSearchResults" runat="server" AutoGenerateColumns="False" DataKeyNames="ACCOUNT_ID" OnSelectedIndexChanged="gvSearchResults_SelectedIndexChanged" CssClass="table table-striped table-hover"> 
            <Columns> 
             <asp:BoundField DataField="ACCOUNT_ID" HeaderText="ID" /> 
             <asp:BoundField DataField="ACCOUNT_NAME" HeaderText="Name" /> 
             <asp:CommandField ShowSelectButton ="true" /> 
            </Columns> 
           </asp:GridView> 
          </asp:Panel> 
         </div> 
        </div> 
       </ContentTemplate> 
       </asp:UpdatePanel> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </div> 
</ContentTemplate> 
</asp:UpdatePanel>