0

为什么我无法访问 OnTextChanged 事件?我已经在文本框中添加了 AutoPostBack="true"。已经尝试调试但仍未触发。

以下是示例代码:

.ASPX 代码

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
         <asp:ListView ID="ListView1" runat="server">
             <ItemTemplate>
                 <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true"></asp:TextBox>
             </ItemTemplate>
         </asp:ListView>
    </ContentTemplate>
</asp:UpdatePanel>

.VB 代码

Protected Sub TextBox1_TextChanged(sender As Object, e As EventArgs)
    Dim TextBox1 As TextBox = DirectCast(sender, TextBox)
    Label1.Text = TextBox1.Text
End Sub

我在这里缺少什么?


解决了

我在页面加载中绑定数据源。更改为 OnPreRender 后,它的工作!

4

2 回答 2

0

你确定是文本框有问题吗?Label1 也必须在更新面板中才能显示新值;当异步回发触发时,只有更新面板区域会更新。确保 Label1 位于设置了 UpdateMode="Always" 的 UpdatePanel 中。

检查在文本框的事件处理程序的标记中定义了 __doPostback 的 JavaScript(应该是 onblur,但可能是 onchange)。

于 2012-09-13T17:09:17.547 回答
0

页面上有 ScriptManager 吗?那将是我的一个想法。

于 2012-09-13T16:57:47.373 回答