如何在asp.net中设置默认值为登录密码文本框?

Had*_*ati 2 asp.net login

我想为我的Login控件设置一个默认值.这是我Login在模板模式下的控制:

    <td align="center" dir="rtl" style="width: 140px; padding-bottom: 20px;">
        <asp:TextBox ID="UserName" runat="server" CssClass="txtbox " Font-Size="0.8em" 
            Height="24px" Width="137px" Text="<%$ Resources:resource, username%>  " 
            Font-Names="tahoma" AutoCompleteType="FirstName" MaxLength="32"> 
        </asp:TextBox>
    </td>
</tr>
<tr>
    <td align="center" dir="rtl" style="width: 160px">
        <asp:TextBox ID="Password" runat="server"  CssClass="txtbox" Font-Size="0.8em" 
            Height="24px" Width="137px" Font-Names="tahoma" 
            TextMode="Password" MaxLength="32"   >
        </asp:TextBox> 
Run Code Online (Sandbox Code Playgroud)

当我尝试将默认值设置为密码框时,它不会出现.我无法从代码隐藏页面访问密码框.我该怎么办?

Imr*_*zvi 5

设置属性而不是.Text属性,因为密码模式不存储敏感信息,这就是锻炼

txtPassword.Attributes.Add("value", "defaultpassword")
Run Code Online (Sandbox Code Playgroud)

但我不会喜欢这种方式,因为这会向客户端发出密码,他们可以看到它.

更好的方法是让它为空白而不是强制性的,稍后向用户显示一条消息,将密码字段保留为默认密码.

在后面的代码检查中,如果密码文本框为空,则传递默认密码而不是文本框值.

对于登录按钮单击事件,您的代码应该类似于:

 string password = (txtPassword.Text == String.Empty)? DefaultPassword : txtPassword.Text;
 AuthenticateUser(txtUserName.Text,password);
Run Code Online (Sandbox Code Playgroud)