Peter Bucher - Mein Experiment, meine Spielereien, meine Welt...   ·   Stefan Falz   ·   Jürgen Gutsch   ·   Golo Roden   ·   ASP.NET Zone   ·   Microsoft ASP.NET
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

TextBox mit Mode Password - Vorbelegen und Wert erhalten

Das TextBox Control mit der Eigenschaft TextMode="Password" legt ein anderes Verhalten an den Tag, als in der Standardeinstellung.
So gelingt bei einer normalen TextBox über <TextBox>.Text eine Vorbelegung, bei einer Passwort TextBox hingegen nicht.

Den technische Grund kann schnell mithilfe des .NET Reflectors evaluiert werden. Bei der Passwort TextBox wird der Text nicht zugewiesen.
Dieses Verhalten ist standardmässig so aus Sicherheitsgründen aktiv.
Falls trotzdem eine Vorbelegung stattfinden soll, funktioniert das natürlich auch, jedoch mithilfe eines kleinen Umweges. Man füge eine neues Attribut Namens "value" (Sowie das Html Äquivalent von .Text tatsächlich heisst) mit dem gewünschten Wert hinzu.

<TextBox>.Attributes.Add("value", "<Vorbelegung>");

 

Die Vorbelegung klappt übrigens auch wunderbar über das Attribut "value" im ASPX Code:
<asp:TextBox ID="txtTest" value="Vorbelegung..." Mode="Password" runat="server" />

 

Standardmässig wird der ViewState bei einer Passwort TextBox nicht berücksichtigt, d.h. nach einem PostBack ist der eingegebene Text wieder verschwunden.
Dieses Verhalten kann durch ein manuelles Abfragen per Request.Form[] geändert werden, sodass der Wert beibehalten wird.

<TextBox>.Attributes.Add("value", Request.Form[<TextBox>.UniqueID]);

 

Falls <Control>.UniqueID unklar ist, siehe: Identifizierung von Controls: Control.ID / .ClientID / .UniqueID

Veröffentlicht Mittwoch, 5. September 2007 20:40 von Peter Bucher
Abgelegt unter: , ,

Kommentare

Keine Kommentare
Anonyme Kommentare sind nicht zugelassen