私たちの主要なWebサイトのコンテンツセクションを編集する必要があると判断したユーザーの1人は、基本的なモデルは、ページ内の1つ以上のdivがCMSからコンテンツを取り込むことです。CMSコンテンツエディタ/ビューア
コンテンツを配信するにはコンテンツを配信するためにオブザーバーモデルを使用していますが、これは問題なく動作します。このページには、少なくとも3つのサーバーコントロールが含まれています。データプロバイダ(CMS)、コントローラ(サブジェクト)、コンテナ(オブザーバ)コンテナには、コントローラからプッシュされたデータで適切にレンダリングされる2つのコンテンツパネル(編集または表示)のいずれかが含まれます。
しかし、編集者とビューアのパネルを切り替えて(変更をプレビューできるように)、編集したコンテンツをデータプロバイダ(CMS)に公開できるようにする必要がありますが、編集したコンテンツは失われ続けますポストバックに。私は 'SaveViewState'メソッドをオーバーライドしようとしましたが、コンテンツパネルはプリレンダリング中に(ViewStateプロパティに依存して)作成されているため、コントロールコレクションは常に前に作成されたオブジェクトを表示しますコントロールコレクションのオブジェクトはプレビューパネルです)。
私はパフォーマンスの問題のために両方のコントロールのレンダリングが必要なのです。私は、編集されたテキストを保存する第三コンポーネント(おそらく隠されたフィールド)を作成することを検討していますが、ここにいる誰かがこれをどのように構造化するのが良いアイデアかもしれないと考えていましたか?
...それを回避する創造的な方法は – Dave
あります。 iframeを持つajax popoverのように。 。 。 –