2013-02-25 140 views
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; 
    } 
+0

您的ShowPrintStickersPopUp方法是什麼樣的?默認情況下,在UpdatePanel中使用按鈕以及提供PostBackTrigger應該可以防止完整的頁面回發,所以我認爲ShowPrintStickersPopUp方法中可能會導致回發。 – 2013-02-25 17:52:00

+0

感謝您的回覆,我添加了ShowPrintStickersPopUp JS! – Nagelfar 2013-02-25 17:56:04

+0

不知道我要說什麼,但是您是否嘗試在ShowPrintStickersPopUp中返回false而不是true? – snaplemouton 2013-02-25 18:00:18

回答

0

您的客戶端方法看起來不錯。你記得在頁面上添加一個ScriptManager對象嗎?許多與UpdatePanel相關的問題都與沒有添加一個有關。

+0

如果他有Jscript它應該已經在

相關問題