如果您的网页上有<asp:TextBox TextMode="Password" ... />
如何在回发后保留价值?
这是我的问题:
在我的应用程序的注册屏幕上,您需要输入密码。
然后单击“提交”,发生回发并清除密码字段,如何防止密码字段清除?
答案 0 :(得分:26)
您需要在page_load或按钮点击事件中再次设置它,如下所示:
string Password = txtPassword.Text;
txtPassword.Attributes.Add("value", Password);
答案 1 :(得分:11)
您需要在回发时将密码设置回文本框。
txtBox.Attributes["value"] = txtBox.Text;
答案 2 :(得分:2)
不要在aspx页面设置输入类型, 设置Pageload in!postback Section
中的输入类型txtPassword.Attributes["type"] = "password";
答案 3 :(得分:1)
<input type="password" />
与其他表单控件的处理方式不同,因为它存储的是用户密码的敏感信息。在服务器端,对于每个回发,密码文本框都是强制完全清除的,如果您确实需要在密码文本框中保留该值,请将其明确设置为其他人在此处提到的。 但我真的不建议这样做,因为这不是一个好习惯。
答案 4 :(得分:0)
我意识到这是一个老帖子,但希望这会帮助别人。我在用户设置屏幕上遇到了同样的问题,我在各种回发期间一直丢失密码输入。我选择的解决方案是将输入屏幕的一部分放回到更新面板中。这解决了密码被消除的问题,并没有带来安全风险。
希望这有帮助!
答案 5 :(得分:0)
使用Jquery在回发或提交后保留您的密码
$(function () {
$('.txtPassword').val("<%=txtPassword.Value%>");
});
答案 6 :(得分:0)
只需在 type="password"
中添加 asp:textbox
并删除 Textmode="Password"
,无需在代码隐藏中编写任何代码。