2009-06-23 34 views
1

我有一個ModalPopup,它將包含一個GridView和4個字段以將項目輸入到GridView本身。PostingBack從ModalPopup,但保持可見?

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

當您提交字段和回發發生模式關閉有人做過這之前?有人提到了使用jQuery的解決方案,但這很久以前。

+0

你正在使用哪種ModalPopup?你能發佈鏈接嗎? – Merritt 2009-06-23 19:50:44

回答

1

放置任何的modalpopup內的UpdatePanel中的這樣做的關鍵是使用某種味道的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 
    }); 
}); 
0

我不知道這是否會工作,但盡力

請你放開後這個作品不恨我,我恨的UpdatePanel太

+0

我試過這個,沒有運氣 – jr3 2009-06-23 19:45:25

0

一類難看選項是表示在第一位置的模式彈出並設置的ViewState [「ModelPopupOn」] =真時強制回傳;然後檢查頁面加載並最終回發並將其設置爲false /關閉彈出窗口時將其從viewstate中刪除。

(這些類型的問題是,爲什麼我討厭的Ajax工具包)

3

在一個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" /> 
0

我正在試用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