0

ここで何が問題なのかを理解しようとしています。updatepanel内でユーザーコントロールのViewstateを無効にすると、コンテンツが更新されません。

これが私のコードです:

Page ViewStateを設定した場合-trueは正常に機能しますが、必要なときに非表示になりません。

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

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

マイユーザーコントロール

私のUserControlもupdatePanel内にラップされています。

--:無効にしてもViewStateの効果はありません。他のページでは問題なく動作しています

助けてください。

ありがとう、ミラノP

4

2 に答える 2

1

updatepanel 内の usercontrol の Viewstate を無効にすると、コンテンツが更新されません。

あなたはUpdatePanelUpdateMode条件付き」なので、Update手動で行う必要があります。

たとえば、表示/非表示にするイベント ハンドラーのどこか:

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

UpdatePanel.Update方法

UpdatePanel コントロールを更新する必要があるかどうかを判断するために実行する必要があるサーバー コードがある場合は、Update メソッドを呼び出します。Update メソッドを使用する場合は、UpdateMode プロパティを Conditional に設定します。サーバー ロジックでパネルを更新する決定が必要な場合は、ChildrenAsTriggers プロパティが false であること、およびパネルに明示的なトリガーが定義されていないことを確認してください。

于 2012-12-18T11:17:37.340 に答える
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/

AJAX 呼び出しでビュー ステート情報を制限する

于 2012-12-18T11:53:24.383 に答える