2016-09-21 52 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>