0

の中にコントロールがありUpdatePanelます。には、内部コントロールに関連付けられUpdatePanelたトリガーがあります。AsyncPostBackこれはうまくいきます。

上記ReportViewControlのポストバック イベントの結果に基づいて、条件付きで非表示にしたいSSRS を含む別のコントロールがあります。UpdatePanel

はのReportViewerControl中にありません。このままにしておきたいUpdatePanelと思います。別のコントロール内のポストバック イベントに基づいて非表示にするにはどうすればよいですか?ReportViewerControlUpdatePanel

ReportViewerControlの内部に配置すると、多くの問題が発生すると思いますがUpdatePanel、誰かが確かに知っていますか?

4

4 に答える 4

1

パネルコンテンツテンプレートを更新する内部にスクリプトを作成し、コントロールフォームのjavascriptを非表示にすることができます。

  <script type="text/javascript">
     Sys.Application.Add_load(MyFunctionThatHides);
   </script
于 2012-05-04T14:48:36.567 に答える
0

サーバーで非同期 AJAX 呼び出しを処理した後、クライアント/ブラウザーに応答を返す直前に、次のコードを使用できます。

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowHideReportViewerJSScript", <JS code to show/hide reportviewer>, true);

ASPX ページに scriptmanager が配置されていると仮定します。

于 2012-05-04T14:56:19.923 に答える
0
  1. Machinegon で提案されているように、サーバー側のコードを介してコンテンツを非表示にしますが、javascript を使用する (ポストバックを介してサーバーによって挿入される可能性があります)。
  2. UpdatePanel非表示にする他のコンテンツについて少し時間をとってください。(現在のものを大きくすることはできませんが、2 つ目を作成しても問題は発生しません。) その 2 つ目の更新パネルにトリガーと同じボタンを設定します。(更新パネルの外側にトリガーを設定できますが、更新パネルの外側でコンテンツを更新することはできません。) 更新が条件付きの場合 (ボタンがクリックされたときにのみコンテンツを変更することがあります)、次のように設定できます。Click最初のボタンクリックのハンドラからのコードで、2番目のパネルが非表示のボタンになるようにトリガーするだけです。
于 2012-05-04T15:07:53.327 に答える