ASP.NET 密码文本框

分享于 

2分钟阅读

Web开发

  繁體 雙語

介绍

使用 ASP.NET,密码模式( TextMode ="密码") 中的默认文本框具有以下限制:

  • 无法设置密码( 比如。 tbPassword.Text ="123" ; )
  • postback 后不恢复密码

这两个限制对于安全原因来说都是合理的。 尽管如此,有时这种行为并不需要( 尤其是在开发过程中)。

PasswordTextBox 控件是标准 ASP.NET TextBox的扩展,并使密码文本框的行为类似于常规文本框。

使用代码

代码本身非常简单:

publicclass PasswordTextBox : TextBox
{
 public PasswordTextBox()
 {
 TextMode = TextBoxMode.Password;
 }
 publicoverridestring Text
 {
 get {
 returnbase.Text;
 }
 set {
 base.Text = value;
 Attributes["value"] = value;
 }
 }
 protectedoverridevoid OnPreRender(EventArgs e)
 {
 base.OnPreRender(e);
 Attributes["value"] = Text;
 }
}

要使用该代码,只需在web应用程序的/bin 中删除/bin,或者在 Visual Studio 中添加一个引用。

ASP.NET 2.0提供了一种简洁而简洁的方法,用于为你的aspx 页面提供控件: 你只需将以下内容添加到你的web.config:

<pages><controls><addtagPrefix="opp"assembly="PasswordTextBox"namespace="opp"/></controls></pages>

现在,可以按如下所示使用 PasswordTextBox:

<opp:PasswordTextBoxid="tbPassword"runat="server"/>

Points of interest

若要设置 PasswordTextBox的值,将重写 Text 属性,并通过" value"属性设置值。

在 postback 之后恢复 PasswordTextBox的值,在 OnPreRender 事件中检索值并通过" value"属性( 感谢jackmos提供了更优秀的解决方案) 进行设置。

历史记录

  • V1.0 释放了。
  • V1.1 发布时间1 2007-03-31感谢所有的反馈 !

文本  asp  asp-net  TEX  password  
相关文章