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