文本框使用textmode密码不显示文本asp.net c#

时间:2013-05-24 16:19:40

标签: asp.net c#-4.0 text textbox passwordbox

我在网络表单上有几个按钮,当用户点击它们时,它们将更新文本框。这工作直到我添加了textmode =密码。现在,文本框不再显示文本。我调试了应用程序,文本属性正在获取值,但它再次没有显示。

以下是我的尝试:

 protected void btn_punch_7_Click(object sender, EventArgs e)
    {

        const string string_punch_Number_7 = "7";
        var text = txt_punch.Text;
        text += string_punch_Number_7;

        txt_punch.Text = text;


    }

    protected void btn_punch_8_Click(object sender, EventArgs e)
    {
        const string string_punch_Number_8 = "8";
        var text = txt_punch.Text;
        text += string_punch_Number_8;

        txt_punch.Text = text;

    }

我也厌倦了这个:

public partial class WebForm3 : System.Web.UI.Page
{
    public string string_punch;
    protected void Page_Load(object sender, EventArgs e)
    {
        MultiView1.SetActiveView(View1);

        txt_punch.Width = 300;
        txt_punch.Height = 50;
        txt_punch.MaxLength = 4;
        txt_punch.Attributes.Add("OnChange", string_punch);

    }

    protected void btn_punch_7_Click(object sender, EventArgs e)
    {

        const string string_punch_Number_7 = "7";
        string_punch = txt_punch.Text;
        string_punch += string_punch_Number_7;

        txt_punch.Text = string_punch;


    }

    protected void btn_punch_8_Click(object sender, EventArgs e)
    {
        const string string_punch_Number_8 = "8";
        string_punch = txt_punch.Text;
        string_punch += string_punch_Number_8;

        txt_punch.Text = string_punch;

    }

7 个答案:

答案 0 :(得分:53)

你有多绝望?

如果你没有绝望的尝试任何东西,任何事情要让它发挥作用,请不要继续阅读。这不会很好。好?行。

诀窍是让网络应用程序认为它不是密码框。换句话说,请勿使用TextMode="password" 然后在Page_Load中,添加txt_punch.Attributes["type"] = "password"

就是这样。浏览器将知道它是一个密码字段(并显示星号或点),但服务器端将不知道,因此它将内容发送到客户端,因为它是纯文本。当然,这也会将密码放在页面源中......

答案 1 :(得分:14)

当您将TextBox的TextMode属性设置为Password时,默认行为是不显示Text属性的值。

这是为了防止在页面的HTML源代码中显示未屏蔽的密码。

一种解决方案是使用属性来保存密码值:

TextBox.Attributes.Add("value", "yourPassword");

Source

答案 2 :(得分:0)

根据Kola的答案选择你可以试试这个:

TextBox.Attributes["value"] = "Whatever value goes here";

答案 3 :(得分:0)

这是一个asp.net BUG !!电子邮件验证算法非常严格,导致排除了一些有效的电子邮件。如果您从"密码"切换TextMode tp" SingleLine",您的代码将有效。

答案 4 :(得分:0)

我们无法直接将值分配给密码文本框。 为文本框密码赋值,我们应该使用文本框属性

Textbox1.Attributes.Add("value",variable/"string");

答案 5 :(得分:0)

当您将文本框的属性设置为 TextMode =“ Password” 时,在编辑模式下,文本框将显示空白。如果您填写

之类的值
UIView

然后不起作用,您需要再次输入密码以保存表格。 您可以像下面的代码一样使用“属性”在文本框中填充值。

TextBox.Text = "Password";

答案 6 :(得分:-1)

密码通常不打算显示,但如果您打算这样做,此页面可能对您有所帮助Solution