2012-09-13 109 views
0

爲什麼我不能訪問OnTextChanged事件?我已經在文本框中添加了AutoPostBack =「true」。已經嘗試調試,但仍然沒有解僱。ASP.Net 4.0 OnTextChanged事件不在ItemTemplate(ListView)中觸發

下面是範例代碼:

.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後,其工作正常!

+0

該代碼應該工作。您是否嘗試在TextBox1_TextChanged中放置一個斷點並進行調試以查看它是否停在那裏? –

+0

是放了一個斷點,但調試器沒有打到那裏 – skycrew

+0

你的調試器停在其他斷點?頁面加載後有JavaScript錯誤嗎? –

回答

0

你在頁面上有ScriptManager嗎?這將是我的一個想法。

+0

是。 ScriptManager已包含在頁面中。我沒有任何問題與ajax listview分頁 – skycrew

0

你確定這是問題的文本框嗎? Label1也必須位於更新面板中以顯示新值;只有更新面板區域在異步回發觸發時更新。確保Label1位於UpdatePanel中,其UpdateMode =「Always」被設置。

檢查在文本框的事件處理程序的標記內定義了__doPostback的javascript(應該是onblur,但可能是onchange)。

+0

它可能不會更新標籤,但調試器應該停止壽。 os應該不是問題。 –

相關問題