Do not set the input type in your markup, or ASP.NET will clear the input before rendering it. Use the following markup instead:
<input id="tbPassword" name="password" runat="server" />
... and the following code in the code:
tbPassword.Value = "your password";
tbPassword.Attributes["type"] = "password";
However, I highly recommend this approach. First, you should not store passwords in text format. This is a really bad security practice.
, , ? ( ). , .