Udostępnij za pośrednictwem


AttributeCollection.Render(HtmlTextWriter) Metoda

Definicja

Zapisuje kolekcję atrybutów do określonego HtmlTextWriter strumienia wyjściowego dla kontrolki, do której należy kolekcja.

public:
 void Render(System::Web::UI::HtmlTextWriter ^ writer);
public void Render (System.Web.UI.HtmlTextWriter writer);
member this.Render : System.Web.UI.HtmlTextWriter -> unit
Public Sub Render (writer As HtmlTextWriter)

Parametry

writer
HtmlTextWriter

Wystąpienie HtmlTextWriter , które zapisuje kolekcję atrybutów do bieżącego strumienia wyjściowego.

Przykłady

Ten rozdział zawiera dwa przykłady kodu. W pierwszym przykładzie WebControl kodu pokazano, jak dziedziczyć z klasy, aby utworzyć niestandardową kontrolkę o nazwie AttribRender , która zastępuje metodę Render . W drugim przykładzie kodu pokazano, jak używać kontrolki niestandardowej na stronie internetowej ASP.NET.

W poniższym przykładzie pokazano, jak utworzyć niestandardową kontrolkę o nazwieAttribRender, która zastępuje Render metodę klasy bez wywoływania Render metody WebControl klasy bazowej. AttribRender Zamiast tego wywołuje metodę Render .

/* Create a custom WebControl class, named AttribRender, that overrides
   the Render method to write two introductory strings. Then call the
   AttributeCollection.Render method, which allows the control to write the
   attribute values that are added to it when it is included in a page.
*/

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Permissions;

// Create the namespace that contains the AttribRender and the
// page that accesses it.
namespace AC_Render
{
   // This is the custom WebControl class.
   [AspNetHostingPermission(SecurityAction.Demand,
      Level=AspNetHostingPermissionLevel.Minimal)]
   public class AttribRender : WebControl
   {
      // This is the overridden WebControl.Render method.
      protected override void Render(HtmlTextWriter output)
      {
         output.Write("<h2>An AttributeCollection.Render Method Example</h2>");
         output.Write("The attributes, and their values, added to the ctl1 control are <br><br>");
         // This is the AttributeCollection.Render method call. When the
         // page that contains this control is requested, the
         // attributes that the page adds, and their values,
         // are rendered to the page.
         Attributes.Render(output);
      }
   }
}
' Create a custom WebControl class, named AttribRender, that overrides 
' the Render method to write two introductory strings. Then call the
' AttributeCollection.Render method, which allows the control to write the
' attribute values that are added to it when it is included in a page.
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Security.Permissions

' Create the namespace that contains the AttribRender and the
' page that accesses it.
Namespace AC_Render

 ' This is the custom WebControl class.
    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class AttribRender
        Inherits WebControl

        ' This is the overridden WebControl.Render method.
        Protected Overrides Sub Render(ByVal output As HtmlTextWriter)
            output.Write("<h2>An AttributeCollection.Render Method Example</h2>")
            output.Write("The attributes, and their values, added to the ctl1 control are <br><br>")
            ' This is the AttributeCollection.Render method call. When the
            ' page that contains this control is requested, the
            ' attributes that the page adds, and their values,
            ' are rendered to the page.
            Attributes.Render(output)
        End Sub
    End Class

End Namespace 'AC_Render

W poniższym przykładzie pokazano, jak używać kontrolki niestandardowej AttribRender na stronie sieci Web. Przyjęto założenie, że plik kodu dla kontrolki niestandardowej znajduje się w folderze App_Code dla aplikacji.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    AC_Render.AttribRender c = new AC_Render.AttribRender();
    c.Attributes.Add("Text", "Hello World!");
    c.Attributes.Add("Attribute1", "The value for Attribute1.");
    Place1.Controls.Add(c);
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AttributeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:PlaceHolder id="Place1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim c As New AC_Render.AttribRender()
    c.Attributes.Add("Text", "Hello World!")
    c.Attributes.Add("Attribute1", "The value for Attribute1.")
    Place1.Controls.Add(c)

  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AttributeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:PlaceHolder id="Place1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>

Dotyczy

Zobacz też