2012-12-18 66 views
0

我試圖弄清楚這裏有什麼問題。當我禁用ViewState for usercontrol在我的updatepanel內時,它只是不更新​​內容。EnableViewState =「false」不會更新asp.net中的updatePanel

這裏是我的代碼:

如果我設置頁面的ViewState真其工作正常,但它並不能掩蓋它,當我需要它。

<asp:UpdatePanel ID="CheckoutUpdatePanel" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <uc:ClickAndCollect ID="ClickAndCollectPanel" runat="server" Visible="false" EnableViewState="false" /> 
     </ContentTemplate> 
</asp:UpdatePanel> 

======================

我的用戶控制

我的用戶控件還包裹在裏面的UpdatePanel ..

- :它沒有ViewState的任何效果,即使我禁用它。它在其他頁面上正常工作

請幫忙。

感謝, 米蘭P

回答

1

當我的用戶控件禁用視圖狀態我的UpdatePanel內,其 只是沒有更新內容。

既然你UpdatePanelUpdateMode是‘有條件’,則需要手動Update它。

例如在您想要顯示的事件處理程序的地方/隱藏:

ClickAndCollectPanel.Visible = false; 
CheckoutUpdatePanel.Update(); 

UpdatePanel.Update Method

調用Update方法,如果你有服務器的代碼必須執行的 確定是否一個UpdatePanel控件應該被更新。如果您打算使用更新方法 ,請將UpdateMode屬性設置爲 有條件。如果您想要決定更新邏輯服務器 中的面板,請確保ChildrenAsTriggers屬性爲false,並且 未爲面板定義明確的觸發器。

+0

我試過wh在你說,但它仍然不工作... –

+0

@ patel.milanb:你用啓用的ViewState試過了嗎? –

+0

我認爲更新面板需要viewstate來處理控制狀態,即使是部分更新。 –

1
I think you should have ViewState information enabled always 
for doing update with Update Panel. 

The update panel will refer the control state using ViewState even 
for partial request. This is why sometimes people say ASP.Net is evil, 
since it sends the whole page view state for every ajax request as parameter. 

因此,我認爲更新面板/ asp.net AJAX嚴重依賴於視圖狀態ASP.Net Ajax的

http://encosia.com/why-aspnet-ajax-updatepanels-are-dangerous/

Limiting view state information on AJAX calls

相關問題