asp.net记住密码功能之密码框不能赋值

来源:互联网 发布:文爱交友软件 编辑:程序博客网 时间:2024/05/10 06:25

一、设置密码框

在asp.NET中密码框并不神奇,只是将普通TextBox的TextMode属性值修改为Password即可;

二、防止页面刷新清空密码框

TextBox一旦被修改为密码框,其填充的值会随着页面的刷新而被清空,处理方法如下:

在页面后台,Page_Load函数中添加一段代码:

        if (this.txtPassword.Text != "")//防止页面刷新,密码文本被清空
        {
            this.txtPassword.Attributes["value"] = this.txtPassword.Text;
        }

其中,txtPassword为密码框的ID,其他照写即可;

注意:该if语句必须写在if (!IsPostBack){。。。}外面,否则不起作用!

三、清空密码框的值

按照第二步骤中,在页面刷新时密码框中的值不会被清空了,但是如果我们进行清空或者重置操作时,应该怎么清空密码框中的值呢?

也许你会说,直接this.txtPassword.Text=““不就行了嘛。实际则不是!

此时清除需要清除密码框的value的值,即this.txtPassword.Attributes["value"]=”“;

四、从后台给密码框赋值

如果密码值已经从数据库中读取,需要赋给密码框,直接赋值this.txtPassword.Text=dr.rows[0]["password"].tostring();

你会发现密码框中根本不会显示数据的,处理方法如下:

                string passWord = PortUserDT.Rows[0]["password"].ToString();
                StringBuilder str = new StringBuilder();
                str.Append("<script language=JavaScript>");
                str.Append("document.all('" + txtPassword.ClientID + "').value='" + passWord + "';");                
                str.Append(@"</script>");
                Page.ClientScript.RegisterStartupScript(Page.GetType(), ".", str.ToString()); 

0 0
原创粉丝点击