WebPartManager.CopyWebPart(WebPart) 方法

定义

由 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

参数

webPart
WebPart

要复制的 WebPart 或服务器控件。

返回

要添加到页中的 WebPart

注解

不能直接从代码调用 CopyWebPart 方法。 在将新的动态WebPart控件或服务器控件添加到页面的过程中,控件在内部WebPartManager调用此方法。 动态控件以编程方式或通过 WEB 部件用户界面 (UI) 添加到页面,例如,用户从控件目录中添加控件,而不是静态控件,静态控件直接在页面标记中声明。

注意

如果开发人员希望使 方法能够处理其他控件复制方案,则可以在派生类中重写 方法。 有关详细信息,请参阅“继承者说明”部分。

添加新的动态控件时,如果它是控件 WebPart ,该方法 CopyWebPart 将返回该控件的新实例。 如果要添加的控件是某种其他类型的服务器控件 ((如用户控件、自定义控件或 ASP.NET 控件) ),则控件已由 Web 部件控件集用 GenericWebPart 对象包装。 CopyWebPart当 方法遇到控件时GenericWebPart,它将返回控件的新实例,GenericWebPart其中包含包装在其中的子控件的新实例。

CopyWebPart当 方法创建要返回的控件的新副本时,它还会将所有属性的值重置为其默认值。 请注意,如果要保留可个性化属性的值并将其复制到新的控件实例,则还应调用 CopyPersonalizationState 方法。 方法执行 CopyWebPart 的最后一步是调用 CreateDynamicWebPartID 方法以获取控件的新 ID。

注意

由于 方法为复制的控件获取新 ID,因此不应依赖引用按原始 ID 添加到页面的动态控件。 相反,应引用 方法返回的 控件的新实例。

继承者说明

方法声明为 virtual ,以便开发人员可以从 类继承 WebPartManager 、重写 方法,并提供可创建控件副本的其他方案。 例如, 方法可以选择接收已序列化为 XML 文件的控件作为输入。 如果存在) , 方法可以反序列化 XML (,然后调用基方法来处理现有情况并返回控件的新实例 WebPart

适用于

另请参阅