2010-12-16 5 views
0

多くのポストバックを行うファイルマネージャタイプWebControlを使用しています。それは比較的複雑なPageの内部に置かれています。 WebControlPageのライフサイクル全体を遂行するのを防止したいと思います。 UpdatePanelは少し役に立ちますが、十分ではありません。1つのコントロールのページライフサイクルを防止する

Pageの残りからWebControlを隔離する方法はありますか?私が考えることができる唯一の方法は、別のPageWebControlを貼り付けて、Pageiframeを作成することです。残念ながら、私のWebControlのプロパティ/設定が元のPageになっていないことも意味します。異なる設定のWebControlの2つのインスタンスを作成する場合は、それぞれの設定に対してPageを作成し、正しいものをiframesに参照する必要があります。私は好きなように "ドラッグ&ドロップ"ではありません。その他の提案はありますか?

答えて

1

難しいと言えば、コントロールがライフサイクルを通過するのを防ぐことはできません。コントロールは、月を実行すべきかどうかを示すために、いくつかの方法を考え出す、

基本的に
if (_shouldNotRun == true) 
    return; 

//Event handler code 

:しかし識別するために、とにかくは、特定のページのポストバック時に、あなたのような何かを行うことによって、各イベント・ハンドラで実行してからコードを防ぐことがあり、オプションです。 IFrameは機能しますが、あなたが言及した問題に対処する必要があります。あなたはその問題にもっと不安を抱かせることができますか?

HTH。

+0

それは周りの他の方法です。残りのページを実行するかどうかを示す方法が必要です。これはファイルマネージャなので、フォルダの作成、名前の変更などはポストバックする必要があります。私はページの残りの部分が単純なフォルダの変更を遅くしたくない。残念ながら、コントロールツリーの作成などいくつかのことを防ぐことはできません... –

+0

いいえ、コントロールツリーを変更しようとすると、エラーが発生します。 JavaScriptで書かれた隠しフィールドを使用して、このアクションがクライアントで発生したと言うことができます。サーバーがポストバックすると、非表示フィールド(フォームコレクションを通じてコン​​トロールまたはクライアント非表示フィールドのいずれか)を確認して、残りのページが読み込まれるようにする必要があります。 –

1

PostBackで呼び出されるどのようなイベントを上書きするかを100%確かめることはできません。ページのライフサイクルの良いソース(http://msdn.microsoft.com/en-us/library/ms178472.aspx)

しかし、Ajaxを作成するためにコントロールをリメイクする方がよいポストバックのほとんどを防ぐことが可能な機能のWebサービス要求?

乾杯、 ステファン

+0

Webサービスを使うのは理想的ですが、残念ながらそれは私のコントロールではなく、比較的複雑です...私はこれを解決するための簡単な方法を見つけることができますか? –

関連する問題