0
我有一個帶有更新面板的ASP.NET頁面。 通常情況下,如果我使用更新面板,應該只有回發,但沒有完整的頁面重新加載。在更新面板中禁用頁面重新加載
在我的情況下,當我點擊一個按鈕時,它總是會重新加載頁面。雖然此按鈕位於更新面板中。
我發現了什麼:當我把
Response.End();
在Button_Click方法,沒有重裝。
我就在.aspx代碼:
<asp:UpdatePanel ID="upUserDefault" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnPrintSelectedArticles" />
</Triggers>
<ContentTemplate>
<cc1:MenuButton runat="server" ID="btnPrintSelectedArticles" OnClientClick="return ShowPrintStickersPopUp();" ButtonText="Print" />
</ContentTemplate>
</asp:UpdatePanel>
後面的代碼:
頁面加載:
btnPrintSelectedArticles.MenuButton_Click += btnPrintSelectedArticles_MenuButton_Click;
方法:
void btnPrintSelectedArticles_MenuButton_Click(object sender, EventArgs e)
{
// Disables reload
Response.End();
}
菜單按鈕是用戶控制
任何想法如何禁用重新加載整個頁面?
編輯: 這是來自ClienClick的ShowPrintStickersPopUp JS。它只是檢查gridview是否有任何複選框檢查
function ShowPrintStickersPopUp() {
var gridView = document.getElementById('<% =gvArticles.ClientID %>');
//get all the control of the type INPUT in the base control.
var inputs = gridView.getElementsByTagName("input");
for (var n = 0; n < inputs.length; ++n) {
if (inputs[n].type == 'checkbox' && inputs[n].checked) {
// If at least 1 checkbox is checked, open popup
window.open('PrintStickersPopUp.aspx', 'Print Stickers', 'width=700,height=550');
return true;
}
}
return false;
}
您的ShowPrintStickersPopUp方法是什麼樣的?默認情況下,在UpdatePanel中使用按鈕以及提供PostBackTrigger應該可以防止完整的頁面回發,所以我認爲ShowPrintStickersPopUp方法中可能會導致回發。 – 2013-02-25 17:52:00
感謝您的回覆,我添加了ShowPrintStickersPopUp JS! – Nagelfar 2013-02-25 17:56:04
不知道我要說什麼,但是您是否嘗試在ShowPrintStickersPopUp中返回false而不是true? – snaplemouton 2013-02-25 18:00:18