[英]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.