Udostępnij za pośrednictwem


WebControl.AddAttributesToRender(HtmlTextWriter) Metoda

Definicja

Dodaje atrybuty i style HTML, które należy renderować do określonego HtmlTextWriterTagelementu . Ta metoda jest używana głównie przez deweloperów kontrolek.

protected:
 virtual void AddAttributesToRender(System::Web::UI::HtmlTextWriter ^ writer);
protected virtual void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer);
abstract member AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
override this.AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
Protected Overridable Sub AddAttributesToRender (writer As HtmlTextWriter)

Parametry

writer
HtmlTextWriter

Element HtmlTextWriter reprezentujący strumień wyjściowy do renderowania zawartości HTML na kliencie.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć klasę pochodzącą WebControl z klasy . Podstawowa implementacja AddAttributesToRender metody jest zastępowana w celu dodania atrybutów odpowiednich do klasy pochodnej w strumieniu wyjściowym HtmlTextWriter .

namespace ControlTest 
{
   using System;
   using System.Web.UI;
   using System.Web.UI.WebControls;

   // Renders the following HTML: 
   // <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>

   public class MyWebControl: WebControl {

      public MyWebControl() : base(HtmlTextWriterTag.Span) 
      { }

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void AddAttributesToRender(HtmlTextWriter writer) 
      {

         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');");
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red");
         base.AddAttributesToRender(writer);
      }

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void RenderContents(HtmlTextWriter writer) 
      {
         writer.Write("Custom Contents");
         base.RenderContents(writer);
      }
   }
}

Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace ControlTest
   
   ' Renders the following HTML: 
   ' <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>
   Public Class MyWebControl
      Inherits WebControl
      
      
      Public Sub New()
         MyBase.New(HtmlTextWriterTag.Span)
      End Sub
      
      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub AddAttributesToRender(writer As HtmlTextWriter)
         
         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');")
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red")
         MyBase.AddAttributesToRender(writer)

      End Sub

      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub RenderContents(writer As HtmlTextWriter)
         writer.Write("Custom Contents")
         MyBase.RenderContents(writer)
      End Sub

   End Class

End Namespace 'ControlTest

Uwagi

Aby renderować atrybuty i style dla kontrolki serwera sieci Web na kliencie, zazwyczaj wywołujesz AddAttribute metody i HtmlTextWriter.AddStyleAttribute , aby wstawić każdy atrybut i styl indywidualnie do strumienia wyjściowego HtmlTextWriter . Aby uprościć ten proces, ta metoda hermetyzuje wszystkie wywołania metod HtmlTextWriter.AddAttribute i HtmlTextWriter.AddStyleAttribute dla każdego atrybutu i stylu skojarzonego z kontrolką serwera sieci Web. Wszystkie atrybuty i style są wstawiane do strumienia wyjściowego HtmlTextWriter w jednym wywołaniu metody. Ta metoda jest zwykle zastępowana przez deweloperów kontrolek w klasach pochodnych, aby wstawić odpowiednie atrybuty i style do strumienia wyjściowego HtmlTextWriter dla klasy.

Uwaga

Nie AddAttributesToRender można użyć metody do wstawienia skryptu klienta. Aby użyć skryptu klienta, zobacz klasę ClientScriptManager .

Dotyczy

Zobacz też