Se provate a settare un valore alla proprietà Text di una semplice TextBox lato server, e questa ha la proprietà TextMode valorizzata su "Password", vi accorgerete che state eseguendo un'operazione che non verrà portata a termine correttamente dal runtime di ASP.NET; questo per semplici ragioni di sicurezza, in quanto tale valore (che dovrebbe essere un'informazione da proteggere) verrebbe renderizzato nel sorgente html della pagina assieme a tutto il resto dei controlli.
Per ovviare a questo comportamento standard di tutti i controlli di tipo TextBox, è possibile utlizzare l'attributo "value" del campo di testo:

txt.Attributes.Add("value", "la mia password");

Così facendo, avremo il nostro valore settato correttamente all'interno della casella di testo.