asp.net記住密碼功能之密碼框不能賦值
一、設定密碼框
在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());