asp.net UserControl-Eigenschaften
Ist es möglich, Zugriff auf Eigenschaften, die nicht definiert Benutzer-Steuerelement? Ich möchte ein html-Attribut, ohne es zu definieren im codebehind.
ex:
<my:TextBox runat="server" extraproperty="extravalue" />
wo extraporperty nicht definiert Benutzer die Kontrolle, aber immer noch erzeugt:
<input type="text" extraproperty="extravalue" />
Muss ich diese in benutzerdefinierten Steuerung. Beachten Sie die meinen: bevor Sie das Textfeld.
ty!
- Was macht Ihr .ascx Aussehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, das ist möglich. Probieren Sie es aus!
Beispielsweise
rendert als:
Bearbeiten
Kommentare:
Den oben genannten arbeiten für eine benutzerdefinierte server-control (abgeleitet von WebControl), aber nicht für ein UserControl, weil ein UserControl nicht ein tag, auf den das Attribut gesetzt werden können: es gibt nur seinen Inhalt.
So müssten Sie code in der UserControl-Klasse, um das hinzufügen Ihrer benutzerdefinierten Attribut eines seiner untergeordneten Steuerelemente. Das Benutzersteuerelement konnte dann setzen Sie das benutzerdefinierte-Attribut als Eigenschaft, so etwas wie:
Du eigentlich nicht zu erklären-Eigenschaften, um Sie als Attribute. Nehmen Sie dieses sehr einfache Beispiel:
In Ihrem Benutzer control-code-Datei können Sie den Wert jeder Eigenschaft so:
Wie Sie sehen können, werden alle Attribute werden setzen Sie auf Ihre Benutzer-Steuerung gelesen werden können, durch die
Attributes
Auflistung mit den Namen der Attribute als Schlüssel, um den Wert der Sammlung.sollten Sie in der Lage sein, Attribute hinzufügen, um die Steuerelemente Attributes-Auflistung.
Ja, nehmen Sie einen Blick auf die IAttributeAccessor - Schnittstelle. die ASP.NET UserControl-Objekt explizit implementiert diese Schnittstelle. Auf diese Weise können alle Attribute direkt an die Steuerung in der markup-Code übertragen werden, der server-Seite attribute collection.
Beachten Sie, dass die default-Implementierung auf dem UserControl nicht überschreibbare aber schreibt und liest aus seinen internen Parametern Sammlung. Um diese Attribute zu HTML-Code in Ihre Benutzer-Kontrolle, etwas tun, wie dies in der markup:
dann in den code-behind der Benutzer die Kontrolle etwas wie das hier tun:
Nun, wenn Sie tun, verwenden Sie die Steuerung, wie diese:
Machen wird es so: