文本更改事件是否不是由文本模式下的文本框触发的 "Password" ?



我正在创建一个密码文本字段,当用户在带有TextMode="Password"的文本框中键入密码时,该字段显示/隐藏密码要求。我添加了一个 TextChanged 事件,以便每次键入/删除新字符时都可以根据要求检查文本框文本。
我遇到的问题是 TextChanged 事件似乎从未被触发过。以下是相关代码:

<tr>
<td style="text-align: right">
<asp:Label ID="Label1" runat="server" CssClass="BoldLabel14px" Font-Bold="True" 
Text="New Password"></asp:Label>
</td>
<td>
<asp:TextBox ID="NewPassword" runat="server" Font-Names="calibri" 
Font-Size="14px" TextMode="Password"></asp:TextBox>
</td>
</tr>
Protected Sub NewPassword_TextChanged(sender As Object, e As EventArgs) Handles NewPassword.TextChanged
System.Diagnostics.Debug.WriteLine("NewPassword Text = " & Me.NewPassword.Text)
CheckPasswordRequirements(Me.NewPassword.Text)
Me.PasswordRequirementsCapital.Visible = False
End Sub

从此代码中,输出永远不会在修改文本框时显示调试语句。在编写文本时抓取文本的方式是否不同?我正在使用Visual Studio,vb.net 和 asp.net。

事件未触发的主要原因是,您甚至没有绑定事件。

它应该是这样的:

<asp:TextBox ID="NewPassword" runat="server" Font-Names="calibri" Font-Size="14px" TextMode="Password" ontextchanged="NewPassword_TextChanged" AutoPostBack="True"></asp:TextBox>

不过,在您离开之前,事件本身不会触发,它是一个服务器端进程,仅在服务器发布之间发生。如果您想在文本更改时处理此问题,请查看JavaScript和/或JQuery

最新更新