我们的一位用户决定他们需要能够在我们的主网站上编辑部分内容,我被赋予了实施它的任务。底层模型是页面中的一个或多个 div 将从 CMS 填充其内容。
为了交付内容,我使用观察者模型来交付内容,这很好用。该页面包含(至少)3个服务器控件;数据提供者(CMS)、控制器(主体)和容器(观察者)。该容器将包含两个内容面板(编辑或视图)之一,这些面板将使用从控制器推送的数据适当地呈现在屏幕上。
但是,现在我需要能够在编辑器和查看器面板之间切换(以便可以预览更改)并能够将编辑的内容发布到数据提供者 (CMS),但我在回发时一直丢失编辑的内容。我试图覆盖“SaveViewState”方法,但是因为内容面板是在预渲染期间创建的(因为它取决于 ViewState 属性),所以控件集合总是显示之前创建的对象(即当编辑面板是显示时,控件集合中的对象是预览面板)。
我不想为了性能问题而同时渲染两个控件。我正在考虑创建一个第三组件(可能是一个隐藏字段)来存储编辑后的文本,但希望这里的某个人可能对如何构建它有更好的了解?