ASP.Net 4.0 OnTextChanged事件未在ItemTemplate(ListView)中触发

时间:2012-09-13 16:54:53

标签: asp.net vb.net listview .net-4.0 updatepanel

为什么我无法访问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

我在这里缺少什么?


解决

我在Page Load中绑定数据源。更改为OnPreRender之后,它正在工作!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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