ユーザーの 1 人が、メイン Web サイトのコンテンツのセクションを編集できるようにする必要があると判断し、それを実装するタスクが私に与えられました。基礎となるモデルは、ページ内の 1 つ以上の div に CMS からコンテンツが入力されるというものです。
コンテンツを配信するために、オブザーバー モデルを使用してコンテンツを配信していますが、これは正常に機能します。ページには (少なくとも) 3 つのサーバー コントロールが含まれています。データ プロバイダー (CMS)、コントローラー (サブジェクト)、およびコンテナー (オブザーバー)。コンテナーには、コントローラーからプッシュされたデータで適切に画面にレンダリングされる 2 つのコンテンツ パネル (編集または表示) のいずれかが含まれます。
ただし、エディター パネルとビューアー パネルを切り替えて (変更をプレビューできるようにするため)、編集したコンテンツをデータ プロバイダー (CMS) に公開できるようにする必要がありますが、ポストバックで編集したコンテンツを失い続けています。「SaveViewState」メソッドをオーバーライドしようとしましたが、コンテンツ パネルは事前レンダリング中に作成されるため (ViewState プロパティに依存するため)、コントロール コレクションは常に以前に作成されたオブジェクトを表示します (つまり、編集パネルが表示されている場合、コントロール コレクション内のオブジェクトはプレビュー パネルです)。
パフォーマンスの問題のために両方のコントロールをレンダリングする道をたどりたくありません。編集したテキストを保存する 3 次コンポーネント (おそらく非表示フィールド) を作成することを検討していますが、ここにいる誰かがこれを構造化する方法についてより良いアイデアを持っていることを望んでいましたか?