所以我有这个输入标签:
<input type="password" id="password" name="password" runat="server" />
我正在尝试在页面加载之前使用C#和ASP.Net设置其值,但我无法让它工作。
答案 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";
}