WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Метод

Определение

Отображает основную область содержимого элемента управления WebPart за исключением колонтитулов.

protected:
 virtual void RenderPartContents(System::Web::UI::HtmlTextWriter ^ writer, System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
protected virtual void RenderPartContents (System.Web.UI.HtmlTextWriter writer, System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
override this.RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
Protected Overridable Sub RenderPartContents (writer As HtmlTextWriter, webPart As WebPart)

Параметры

writer
HtmlTextWriter

Объект HtmlTextWriter, который получает содержимое элемента webPart.

webPart
WebPart

Элемент управления, отображаемый в настоящий момент.

Примеры

В следующем примере кода показано использование RenderPartContents метода. Полный код, необходимый для выполнения примера, см. в WebPartChrome разделе "Пример" раздела обзора класса.

В следующем разделе из примера кода показано, как переопределить RenderPartContents метод. Переопределенный метод выполняет два действия, чтобы настроить отрисовку для текста WebPart элемента управления. Во-первых, он проверяет, выбран ли элемент управления, и если да, записывает строку и не отображает содержимое. Во-вторых, если элемент управления не выбран, и если зона элемента управления имеет тип MyZone, метод отрисовывает элемент управления. Эту последнюю проверку можно использовать, если вы хотите убедиться, что пользовательский WebPartChrome класс можно использовать только для отрисовки WebPart элементов управления в определенном типе WebPartZone зоны, предназначенной WebPartChrome для хранения объекта.

protected override void RenderPartContents(HtmlTextWriter writer, 
  WebPart part)
{

    if (part == this.WebPartManager.SelectedWebPart)
      HttpContext.Current.Response.Write("<span>Not rendered</span>");
    else
      if(this.Zone.GetType() == typeof(MyZone))
        part.RenderControl(writer);
}
Protected Overrides Sub RenderPartContents _
  (ByVal writer As HtmlTextWriter, ByVal part As WebPart)

  If part Is Me.WebPartManager.SelectedWebPart Then
    HttpContext.Current.Response.Write("<span>Not rendered</span>")
  Else
    If (Me.Zone.GetType() Is GetType(MyZone)) Then
      part.RenderControl(writer)
    End If
  End If

End Sub

При загрузке веб-страницы в браузере можно увидеть, что содержимое каждого элемента управления отображается обычным образом. Если переключить страницу в режим конструктора (выбрав "Конструктор " в раскрывающемся списке " Режим отображения ") и перетащите один из элементов управления в пустую зону с меткой WebPartZone2, содержимое элемента управления отображается по-другому, так как пользовательский WebPartChrome объект не используется для отрисовки в стандартной зоне. Это тот же эффект, который вы бы достигли, если вы попытались использовать пользовательский WebPartChrome класс с любой другой зоной, кроме MyZone класса, из-за предыдущего исходного кода.

Комментарии

Этот RenderPartContents метод позволяет переопределить отрисовку области webPartтела, оставив отрисовку верхнего и нижнего колонтитулов на отрисовку по умолчанию.

Примечания для тех, кто наследует этот метод

При необходимости можно переопределить RenderPartContents(HtmlTextWriter, WebPart) метод. В этом случае можно просто выполнить любые настройки отрисовки, которые вы хотите использовать webPart, а затем вызвать его RenderControl(HtmlTextWriter) метод. Если вы также хотите использовать отрисовку по умолчанию в случае ошибок подключения, сначала вызовите базовый метод, а затем настройте writer возвращаемый из базового метода.

Применяется к

См. также раздел