【问题标题】:Is the TextChanged Event not triggered by a TextBox in TextMode="Password"?TextMode="Password" 中的 TextBox 是否未触发 TextChanged 事件?
【发布时间】:2020-01-12 12:12:16
【问题描述】:

我正在创建一个密码文本字段,当用户在 TextMode="Password" 的 TextBox 中键入密码时显示/隐藏密码要求。我添加了一个 TextChanged 事件,以便每次输入/删除新字符时都可以根据要求检查 TextBox 文本。
我遇到的问题是 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

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

【问题讨论】:

  • 这很棒@Çöđěxěŕ 但是你知道有什么方法可以在文本被更改时触发事件,而不是之后?
  • Okie dokie,这样的话,就解决了!谢谢@Çöđěxěŕ !!

标签: asp.net vb.net


【解决方案1】:

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

应该是这样的:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多