WebPartManager.CopyWebPart(WebPart) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
Web 部件控件集用于创建控件的副本 WebPart 或服务器控件,以便将控件添加到网页。
protected:
virtual System::Web::UI::WebControls::WebParts::WebPart ^ CopyWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
protected virtual System.Web.UI.WebControls.WebParts.WebPart CopyWebPart(System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member CopyWebPart : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.WebPart
override this.CopyWebPart : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.WebPart
Protected Overridable Function CopyWebPart (webPart As WebPart) As WebPart
参数
返回
要添加到页面的 A WebPart 。
注解
不能直接从代码调用 CopyWebPart 该方法。 在向页面添加新动态WebPartManager控件或服务器控件的过程中,控件在内部WebPart调用此方法。 动态控件通过编程方式或通过 Web 部件用户界面(UI)添加到页面,例如,用户通过控件目录添加控件,而不是直接在页面标记中声明的静态控件。
注释
如果开发人员希望使该方法能够处理其他控件复制方案,则可以在派生类中重写该方法。 有关详细信息,请参阅“继承者说明”部分。
添加新的动态控件(如果它是 WebPart 控件)时,该方法 CopyWebPart 将返回控件的新实例。 如果要添加的控件是一些其他类型的服务器控件(如用户控件、自定义控件或 ASP.NET 控件),则控件已由 Web 部件控件集包装为 GenericWebPart 对象。 CopyWebPart当方法遇到GenericWebPart控件时,它将返回控件的新实例,该实例GenericWebPart包含包装在其中的子控件的新实例。
CopyWebPart当该方法创建要返回的控件的新副本时,它还会将所有属性的值重置为其默认值。 请注意,如果要保留可个性化属性的值并将其复制到新控件实例,还应调用 CopyPersonalizationState 该方法。 该方法执行 CopyWebPart 的最后一步是调用 CreateDynamicWebPartID 方法以获取控件的新 ID。
注释
由于该方法获取复制的控件的新 ID,因此不应依赖引用按原始 ID 添加到页面的动态控件。 应改为引用方法返回的控件的新实例。
继承者说明
该方法被声明为 virtual 这样,以便开发人员可以从类继承 WebPartManager 、重写该方法,并为创建控件副本的其他方案提供。 例如,该方法可以选择接收为已序列化为 XML 文件的控件的输入。 该方法可以反序列化 XML(如果存在),然后调用基方法来处理现有事例并返回控件的新实例 WebPart 。