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

适用于

另请参阅