0
私は自分自身が馬鹿だと感じています。それは簡単なはずですが、動作していないようです。 以下は私のコントロールコードです。TextBoxからのWebControls - Postabackに新しいプロパティを保存していない
Imports System.Web.UI.WebControls
Public Class PasswordTextBox
Inherits TextBox
Public Sub New()
TextMode = TextBoxMode.Password
End Sub
Public Property Password As String
Get
Dim s As String = CType(ViewState("Password"), String)
If s Is Nothing Then Return ""
Return s
End Get
Set(value As String)
ViewState("Password") = value
End Set
End Property
Private Const DEFAULT_PASSWORD As String = "********************"
Public Overrides Property Text() As String
Get
If Password = "" Then Return ""
Return DEFAULT_PASSWORD
End Get
Set
MyBase.Text = DEFAULT_PASSWORD
Attributes("value") = DEFAULT_PASSWORD
End Set
End Property
Protected Overrides Sub OnPreRender(e As EventArgs)
MyBase.OnPreRender(e)
Attributes("value") = Text
End Sub
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
MyBase.Render(output)
End Sub
エンドクラス
目的は、常に値として*****表示するようにプロパティを上書きし、代わりに取得/データを設定するには、新しいプロパティのパスワードを使用し、簡単です。ユーザーがブラウザから「要素を検査」機能を使用すると、実際のパスワードを取得できなくなります。
しかし、私はtxtPassword.Passwordプロパティを取得すると、ポストバックで、空の文字列を返します。
紛失しているものがありますか? ありがとうございます