Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt Entwurfszeitunterstützung in einem visuellen Designer für das HyperLink-Webserversteuerelement bereit.
Namespace: System.Web.UI.Design.WebControls
Assembly: System.Design (in system.design.dll)
Syntax
'Declaration
Public Class HyperLinkDesigner
Inherits TextControlDesigner
'Usage
Dim instance As HyperLinkDesigner
public class HyperLinkDesigner : TextControlDesigner
public ref class HyperLinkDesigner : public TextControlDesigner
public class HyperLinkDesigner extends TextControlDesigner
public class HyperLinkDesigner extends TextControlDesigner
Hinweise
Das HyperLink-Steuerelement erstellt einen Hyperlink für den Clientbrowser für die Navigation zu einer anderen Webseite.
Wenn Sie in einem visuellen Designer von der Quellansicht zur Entwurfsansicht wechseln, wird der Markupquellcode analysiert, der ein HyperLink-Steuerelement beschreibt, und auf der Entwurfsoberfläche wird eine Entwurfszeitversion des Steuerelements erstellt. Wenn Sie zurück zur Quellansicht wechseln, wird das Entwurfszeit-Steuerelement im Markupquellcode beibehalten und in das Markup für die Webseite eingearbeitet. Die HyperLinkDesigner-Klasse bietet für das HyperLink-Steuerelement Unterstützung zur Entwurfszeit.
Die GetDesignTimeHtml-Methode gibt das Markup zurück, das zum Rendering des zugeordneten HyperLink-Steuerelements zur Entwurfszeit verwendet wird. Die OnComponentChanged-Methode wird aufgerufen, wenn das zugeordnete Steuerelement geändert wurde.
Beispiel
Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Beispiel wird veranschaulicht, wie eine Klasse von der HyperLinkDesigner-Klasse abgeleitet wird, wie eine Methode überschrieben wird und wie ein Eigenschaftenname angegeben wird. Im zweiten Beispiel wird veranschaulicht, wie ein Steuerelement vom HyperLink-Steuerelement abgeleitet wird und wie ein Attribut auf das abgeleitete Steuerelement angewendet wird.
Im folgenden Codebeispiel wird veranschaulicht, wie eine CustomHyperLinkDesigner-Klasse von der HyperLinkDesigner-Klasse abgeleitet wird. Diese überschreibt die GetDesignTimeHtml-Methode, um einen Standardwert für die Text-Eigenschaft bereitzustellen, wenn der ursprüngliche Wert für den Text eine leere Zeichenfolge ("") ist. Damit wird sichergestellt, dass das zugeordnete Steuerelement zur Entwurfszeit sichtbar ist.
' Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
Public Class CustomHyperLinkDesigner
Inherits HyperLinkDesigner
' Override the GetDesignTimeHtml to set the CustomHyperLink Text
' property so that it displays at design time.
Public Overrides Function GetDesignTimeHtml() As String
Dim hype As CustomHyperLink = CType(Component, CustomHyperLink)
Dim designTimeMarkup As String = Nothing
' Save the original Text and note if it is empty.
Dim text As String = hype.Text
Dim noText As Boolean = (text.Trim().Length = 0)
Try
' If the Text is empty, supply a default value.
If noText Then
hype.Text = "Click here."
End If
' Call the base method to generate the markup.
designTimeMarkup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
' If an error occurs, generate the markup for an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex)
Finally
' Restore the original value of the Text, if necessary.
If noText Then
hype.Text = text
End If
End Try
' If the markup is empty, generate the markup for a placeholder.
If ((designTimeMarkup = Nothing) Or _
(designTimeMarkup.Length = 0)) Then
designTimeMarkup = GetEmptyDesignTimeHtml()
End If
Return designTimeMarkup
End Function ' GetDesignTimeHtml
End Class ' CustomHyperLinkDesigner
// Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
public class CustomHyperLinkDesigner : HyperLinkDesigner
{
// Override the GetDesignTimeHtml to set the CustomHyperLink Text
// property so that it displays at design time.
public override string GetDesignTimeHtml()
{
CustomHyperLink hype = (CustomHyperLink)Component;
string designTimeMarkup = null;
// Save the original Text and note if it is empty.
string text = hype.Text;
bool noText = (text.Trim().Length == 0);
try
{
// If the Text is empty, supply a default value.
if (noText)
hype.Text = "Click here.";
// Call the base method to generate the markup.
designTimeMarkup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
// If an error occurs, generate the markup for an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex);
}
finally
{
// Restore the original value of the Text, if necessary.
if (noText)
hype.Text = text;
}
// If the markup is empty, generate the markup for a placeholder.
if(designTimeMarkup == null || designTimeMarkup.Length == 0)
designTimeMarkup = GetEmptyDesignTimeHtml();
return designTimeMarkup;
} // GetDesignTimeHtml
} // CustomHyperLinkDesigner
Im folgenden Codebeispiel wird veranschaulicht, wie das CustomHyperLink-Steuerelement vom HyperLink-Steuerelement abgeleitet und ein DesignerAttribute-Attribut auf das CustomHyperLink-Steuerelement angewendet wird, um dieses dem CustomHyperLinkDesigner zuzuordnen.
Imports System.Web
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports System.Security.Permissions
Namespace Examples.VB.WebControls.Design
' The CustomHyperLink is a copy of the HyperLink.
' It uses the CustomHyperLinkDesigner for design-time support.
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(Examples.VB.WebControls.Design. _
CustomHyperLinkDesigner))> _
Public Class CustomHyperLink
Inherits HyperLink
End Class ' CustomHyperLink
End Namespace ' Examples.VB.WebControls.Design
using System.Web;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Security.Permissions;
namespace Examples.CS.WebControls.Design
{
// The CustomHyperLink is a copy of the HyperLink.
// It uses the CustomHyperLinkDesigner for design-time support.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(Examples.CS.WebControls.Design.
CustomHyperLinkDesigner))]
public class CustomHyperLink : HyperLink
{
} // CustomHyperLink
} // Examples.CS.WebControls.Design
.NET Framework-Sicherheit
- SecurityPermission für den Aufruf von nicht verwaltetem Code. Anforderungswert: Demand. Berechtigungswert: UnmanagedCode
Vererbungshierarchie
System.Object
System.ComponentModel.Design.ComponentDesigner
System.Web.UI.Design.HtmlControlDesigner
System.Web.UI.Design.ControlDesigner
System.Web.UI.Design.TextControlDesigner
System.Web.UI.Design.WebControls.HyperLinkDesigner
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
HyperLinkDesigner-Member
System.Web.UI.Design.WebControls-Namespace
HyperLink
TextControlDesigner-Klasse
ControlDesigner-Klasse
HtmlControlDesigner-Klasse
ComponentDesigner
Weitere Ressourcen
Übersicht über ASP.NET-Steuerelement-Designer
Exemplarische Vorgehensweise: Erstellen eines einfachen Steuerelement-Designers für ein Webserver-Steuerelement