使用C#和ASP.Net设置type =“password”的输入标记的值

时间:2011-05-20 22:49:02

标签: c# asp.net

所以我有这个输入标签:

<input type="password" id="password" name="password" runat="server" />

我正在尝试在页面加载之前使用C#和ASP.Net设置其值,但我无法让它工作。

5 个答案:

答案 0 :(得分:9)

不要在标记中设置输入类型,否则ASP.NET将在呈现之前清除输入。而是使用以下标记:

<input id="tbPassword" name="password" runat="server" />

...以及代码隐藏中的以下代码:

tbPassword.Value = "your password";
tbPassword.Attributes["type"] = "password";

但是,我强烈反对这种做法。首先,您不应该以纯文本格式存储密码。这是一个非常糟糕的安全实践。

其二,如果您只是要在代码中设置密码,为什么要求它呢?密码输入的点是用于用户交互(输入密码)。如果你为他们这样做,那么在页面上显示它是没有意义的。

答案 1 :(得分:1)

您可以使用<asp:TextBox>设置TextBox.Attributes.Add的值设置文本框的value属性。

代码示例:

TextBox1.Attributes.Add("value", "My Sample Password");

答案 2 :(得分:0)

出于安全原因,这是出于设计原因。你想用什么填充文本框?你不是用纯文本存储用户的密码吗?

答案 3 :(得分:0)

如果您正在谈论用户登录表单,并且您可以访问未加密的密码,那么您的错误就是错误的。

用户密码应作为加密哈希存储在数据库中,不能反转为明文密码,只检查匹配。

如果您想要做的是在输入框中预加载用户的密码以节省他一些打字,只是不要这样做,因为用户的网络浏览器可能会做得更好。

答案 4 :(得分:-2)

你有没有试过这样的事情:

void Page_Load(object sender, eventargs e)
{
   password.value= "something";
}