Freigeben über


Beispiel für einen benutzerdefinierten Steuerelement-Generator

In dem folgenden Beispiel wird ein benutzerdefinierter Steuerelement-Generator definiert (NoWhiteSpaceControlBuilder) und einem benutzerdefinierten Steuerelement (NoWhiteSpaceControl) zugewiesen. Als Vergleich wurde ein zweites Steuerelement eingeschlossen, das nicht über einen benutzerdefinierten Generator verfügt. Eine Anleitung zum Erstellen dieses Beispiels finden Sie unter Beispiele für Serversteuerelemente.

namespace CustomControls 
{  
   using System;
   using System.Web.UI;
   
   public class NoWhiteSpaceControlBuilder : ControlBuilder 
   {  
      public override bool AllowWhitespaceLiterals() 
      {
         return false;
      }
   }
   
   [ ControlBuilderAttribute(typeof(NoWhiteSpaceControlBuilder))]
   public class NoWhiteSpaceControl : Control 
   {}
   
   public class WhiteSpaceControl : Control 
   {}
   
}
[Visual Basic]
Option Explicit
Option Strict

Imports System
Imports System.Web.UI

Namespace CustomControls
   Public Class NoWhiteSpaceControlBuilder
      Inherits ControlBuilder
      
      Public Overrides Function AllowWhitespaceLiterals() As Boolean
         Return False
      End Function
   End Class
   
   <ControlBuilderAttribute(GetType(NoWhiteSpaceControlBuilder))> _
   Public Class NoWhiteSpaceControl
      Inherits Control
   End Class
   
   Public Class WhiteSpaceControl
      Inherits Control
   End Class
End Namespace

Testseite für das Beispiel eines benutzerdefinierten Steuerelement-Generators

Die folgende ASPX-Seite verwendet das benutzerdefinierte Steuerelement NoWhiteSpaceControl, das über einen benutzerdefinierten Steuerelement-Generator verfügt. Als Vergleich verfügt die Seite ebenfalls über ein Steuerelement (WhiteSpaceControl), das über den standardmäßigen Steuerelement-Generator verfügt.

<%@ Register TagPrefix="Custom" Namespace="CustomControls" Assembly = "CustomControls" %>

<html>
<body>         
<form  runat=server>
<pre>             
<Custom:NoWhiteSpaceControl Id = "NoSpace" runat=server>
This control does not allow white spaces.
<asp:Label runat = server id = "nospacel1" Text = "First label inside no white space control." />

<asp:Label runat = server id = "nospacel2" Text = "Second label after white space ." />
</Custom:NoWhiteSpaceControl>
 
<br><br>             
<Custom:WhiteSpaceControl Id = "Space" runat=server>
This control allows white spaces.
<asp:Label runat = server id = "spacel1" Text = "First label inside white space control." />

 
<asp:Label runat = server id = "spacel2" Text = "Second label after white space." />
</Custom:WhiteSpaceControl>
</pre>            
</form>              
</body>           
</html>

Siehe auch

Übersicht über den Steuerelement-Generator | ControlBuilderAttribute | Steuerelementanalyse, das ParseChildrenAttribute und Steuerelement-Generatoren