【问题标题】:How to prevent a password input from clearing after submit?提交后如何防止密码输入被清除?
【发布时间】:2011-03-10 00:40:12
【问题描述】:

如果您有一个带有<asp:TextBox TextMode="Password" ... /> 的页面。
回发后如何保持价值?

这是我的问题:
在我的应用程序的注册屏幕上,您需要输入密码。 然后点击提交,出现回发,密码字段被清除,如何防止密码字段被清除?

【问题讨论】:

  • 请问您为什么要这样做?
  • @user29964,这是一篇旧帖子,但是,您真的接受在属性=值上添加密码可以解决您的问题吗?这是一个不好的做法。如果您在回发后查看源代码或检查密码字段中的元素,那么每个人都可以看到您的密码。

标签: c# asp.net postback


【解决方案1】:

只需在asp:textbox 中添加type="password" 并删除Textmode="Password",无需在代码隐藏中编写任何代码。

【讨论】:

    【解决方案2】:

    最好的方法

    不要在 aspx 页面中设置输入类型, 在 !postback Section 中的 Pageload 中设置输入类型

    txtPassword.Attributes["type"] = "password";
    

    【讨论】:

      【解决方案3】:

      回发或提交后使用Jquery保留密码

      $(function () {
      $('.txtPassword').val("<%=txtPassword.Value%>");
      });
      

      【讨论】:

        【解决方案4】:

        我知道这是一篇旧帖子,但希望这对其他人有所帮助。我在用户设置屏幕上遇到了同样的问题,在各种回发期间我一直丢失密码输入。我选择的解决方案是将输入屏幕的一部分放回更新面板中。这解决了密码被清空的问题,并且不存在安全风险。

        希望这会有所帮助!

        【讨论】:

          【解决方案5】:

          &lt;input type="password" /&gt; 与其他表单控件的处理方式不同,因为它存储了作为用户密码的敏感信息。在服务器端,由于这个原因,每次回发密码文本框都会被强制完全清除,如果您真的需要在密码文本框中保留值,请按照其他人在此处提到的那样明确设置它。 但我真的不建议这样做,因为这不是一个好习惯。

          【讨论】:

            【解决方案6】:

            您需要在回发时将密码设置回文本框。

            txtBox.Attributes["value"] = txtBox.Text;
            

            【讨论】:

            【解决方案7】:

            您需要在 page_load 或按钮单击事件中再次设置它,如下所示:

             string Password = txtPassword.Text;
            txtPassword.Attributes.Add("value", Password);
            

            【讨论】:

            • 标题吸引我到这里寻找一种方法来为 HTMLInputPassword 字段()设置此值,但将值设置为这个控件不起作用。以下是如何为实际的 HTML 密码输入设置它:string script = String.Format("document.getElementById('{0}').value = '{1}';", TextBox1.ClientID, TextBox1.Value);Page.ClientScript.RegisterStartupScript(this.GetType(), "SetPassword", script, true);
            • 这种方法是不好的做法;您正在附加到客户端控件,因此如果您查看源代码并查看文本框的“值”属性,则密码将以明文形式显示。不是一个安全的方法。读一读。 codeproject.com/Articles/18927/…
            • 对我来说回发是空白的:/
            • 这会在 value 属性中暴露密码
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-04
            • 1970-01-01
            • 2022-01-18
            • 1970-01-01
            • 1970-01-01
            • 2020-06-06
            • 2013-10-16
            相关资源
            最近更新 更多