【问题标题】:TextChanged event function not workingTextChanged 事件函数不起作用
【发布时间】:2020-01-31 09:11:56
【问题描述】:

我有一个简单的 aspx 文件

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test4.aspx.vb" Inherits="test4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<body>
<form id="form1" runat="server">
    <div id="content">
   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
       <br />
       <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    </div>
</form>
</body>
</html>

这是 test4.aspx.vb 代码文件

Partial Class test4
Inherits System.Web.UI.Page

Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    TextBox2.Text = TextBox1.Text
End Sub
End Class

现在的问题是,即使我在 textBox1 中键入了一些内容,如果没有触发 textchanged 事件,为什么?我该怎么办??

【问题讨论】:

  • 你应该回发到服务器,然后它被提升

标签: asp.net


【解决方案1】:

您需要在导致事件的 TextBox 上启用 AutoPostBack

您的代码的问题在于它是试图调用客户端事件的服务器端事件。文本需要输入TextBox1,然后会得到AutoPostBack

<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox> 

根据您的需要。使用 JavaScript 使用来自 TextBox1 的值填充 TextBox2 可能会更好。

【讨论】:

    【解决方案2】:

    您的 TextBox 是一个服务器控件,而更改的文本是一个服务器事件。它并不是在您每次键入字母时触发,而是在文本值与上次服务器回发时的值不同时触发。

    如果您需要在每次按下字母时运行某种代码,则需要使用 VB 或 JavaScripting 注册和处理客户端事件 OnKeyUp / OnKeyDown / OnKeyPress

    【讨论】:

      【解决方案3】:

      在您的 .Aspx 上,添加您的 TextBox:

      OnTextChanged="TextBox1_TextChanged"
      

      【讨论】:

      • 这是vb.net,看方法声明的最后:"Handles TextBox1.TextChanged" 如果声明了handles子句,则不需要aspx部分。
      【解决方案4】:

      我知道我参加这个聚会迟到了,但我仍然想讲述我的故事。

      我在只读 TextBox 上有一个文本更改事件处理程序。

      JavaScript 将 TextBox 更改为读/写,但该事件不会触发。可能是因为后端仍然认为它是只读的。

      我通过将 R/O 和 R/W 之间的所有更改移至后端来解决此问题。现在可以了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-28
        • 1970-01-01
        • 2015-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-11
        相关资源
        最近更新 更多