簡體   English   中英

來自ModalPopup的PostingBack,但保持可見?

[英]PostingBack from ModalPopup, but keeping it visible?

我有一個ModalPopup,它將包含一個gridview和4個字段,用於將項目輸入gridview本身。

是否可以在保持模態打開的同時回發到服務器並更新gridview?

當你提交字段並且回發發生時,模態關閉有沒有人在此之前完成此操作? 有人提到使用jQuery的解決方案,但這很久以前。

在UpdatePanel中包裝彈出窗口的內容(即不是彈出窗口本身!)對我有用。

我的彈出內容是一個帶有可排序/可分頁結果網格的搜索面板。 UpdatePanel給了我我需要的確切行為,沒有額外的代碼。

感謝Patel Shailesh的想法。

<asp:Panel runat="server" ID="PopupPanel" Height="650" Width="900" Style="display: none">
    <asp:UpdatePanel runat="server" ID="UpdatePanel1">
        <ContentTemplate>
            <!-- popup content -->
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Panel>

<ajax:ModalPopupExtender runat="server" ID="PopupExtender" PopupControlID="PopupPanel"  
    TargetControlID="PopupButton" />
<asp:Button runat="server" ID="PopupButton" Text="Popup" />

這樣做的關鍵是使用某種風格的AJAX - Microsoft.Ajax或jQuery Ajax。 如果UpdatePanel不起作用,那么我建議使用jQuery使用AJAX提交回服務器。 這將涉及創建WebMethod以接受服務器端的AJAX帖子,並使用jQuery檢測客戶端以發送請求/接收響應。 如果沒有看到你的HTML,那就很難具體了。

基本理念:

 $(function() {
    $('#modalSubmitButton').click( function() {
       $.ajax({
           url: 'path-to-your-web-method',
           dataType: 'json',  // or html, xml, ...
           data: function() {
               var values = {};
               values['field1'] = $('#field1ID').val();
               ...
               values['field4'] = $('#field4ID').val();
               return values;
           },
           success: function(data,status) {
              ... update page based on returned information...
           }
           ... error handling, etc. ...
       });
       return false; // stop any default action from the button clicked
    });
 });

我不確定這是否可行,但嘗試將modalpopup中的任何內容放在UpdatePanel中

如果這個作品在發布后不討厭我,我也討厭updatepanels

一種丑陋的選擇是在首先顯示模態彈出窗口並設置ViewState [“ModelPopupOn”] = true時強制回發; 然后在關閉彈出窗口時檢查頁面加載並最終再次回發並將其設置為false /從viewstate中刪除它。

(這些問題是我討厭ajax工具包的原因)

我正在嘗試使用modalpopupextender,並找到一個丑陋的解決方案。 如果模態面板有一個按鈕,使回發發生

<asp:Panel runat="server" ID="PopupPanel" Height="650" Width="900" Style="display: none">
    <asp:Button ID="OkButton" runat="server" Text="OK" OnClick="OkBtn_Click"  />
</asp:Panel>

如果代碼隱藏中的OkBtn_Click有一個調用:

System.Web.HttpContext.Current.Response.Write("<script></script>");

然后modalpopupextender沒有關閉。 對於這個家伙來說也是如此: http//forums.asp.net/t/1591860.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM