密码框未显示任何内容

时间:2011-01-13 08:26:07

标签: asp.net asp.net-membership webforms

我有一个小的websolution,需要用户输入密码。我有两个输入框

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

如果我将一些字符设置为控件的Value-property,如下所示:

m_txtPassword1.Value="someChars";

密码框呈现为空。没有显示子弹。如果我查看渲染的html源代码,也没有渲染任何value-tag。如果我将类型更改为

<input type="text" runat="server" id="m_txtPassword1"/>

显示字符。这是设计的吗?如何禁用此功能?
请注意,我不想在value-property中输入真正的密码,我只想向用户显示已经设置了密码,这是IMO最好的输入控件中的8个子弹。但为此,我需要设置控件的value-property。

更新

对于所有人来说,遇到同样的问题:我试图用相同的结果声明<asp:textbox id="m_txtPassword1" runat="server" TextMode="Password" />m_txtPassword1.Attributes["value"]="someChars"也没有帮助。

这似乎真的不可能。

作为一种解决方法,我将密码框声明为没有runat =“server”的普通html,并在标记中设置了value-property(通过代码隐藏中的两个属性)。不好,但我真的想告诉用户他已经输入了密码 另一种解决方法是在加载时通​​过javascript设置值。

4 个答案:

答案 0 :(得分:1)

这是默认情况。您无法设置密码。

答案 1 :(得分:1)

我让它有效,

<html>
<head>
<script type="text/javascript">
function alertValue()
{
alert(document.getElementById("password1").value);
}
function setpassword()
{
   password1.value="someChars";
}
</script>
</head>
<body>

<form>
<input type="password" id="password1" value="" />
<input type="button" id="button1" onclick="alertValue()" value="Show default value" />
<input type="button" id="button2" onclick="setpassword()" value="Set value" />

</form>

</body>
</html>

试试这个: http://jsbin.com/ocexo5

答案 2 :(得分:1)

出于安全考虑,这是设计密码,因此密码不在 HTML纯文本。

现在,您可以编写javascript来设置文本框的value属性 在客户端,当然这仍然意味着你有密码 HTML中的纯文本。

以下是该页面的示例:

标记:

<script type="text/javascript">
function setPwd()
{
    var Pwd = "<%=Pwd %>";
    var txtText = document.getElementById("MainContent_txtText");
    txtText.value = Pwd;
 }
</script>
<input type="password" id="txtText" runat="server"/>

代码隐藏:

public partial class _Default : System.Web.UI.Page
    {
        public string Pwd;
        protected void Page_Load(object sender, EventArgs e)
        {

            Pwd = "password";
            ClientScript.RegisterStartupScript( this.GetType(),"somescript","setPwd();",true); 
        }
    }

答案 3 :(得分:0)

Textbox11.Attributes.Add("Value",whatever_your_password_is)