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