如何在文本框位于ListView中时捕获textchanged事件?

时间:2012-08-24 21:57:21

标签: asp.net listview

我在列表视图中有一系列文本框,其中包含员工的小时和分钟。我希望在任何文本框失去焦点时计算输入的值。我试过了this exemple from the MSDM。对于button和LinkBut​​ton,我可以使用 OnItemCommand ,对于DDl和listbox,我可以使用 OnSelectedIndexChanged

我的texbox上的Textchanged怎么样?我没有看到他们的任何事件。从MSDN,唯一类似的方法是 TextBox.TextChanged事件。但它在该页面上说:“此API支持.NET Framework基础结构,不能直接在您的代码中使用。”

1 个答案:

答案 0 :(得分:5)

TextBoxes位于ItemTemplate(或EditItemTemplate),不是吗?如果他们有AutoPostBack=true,他们会在文字发生变化后立即回复,重点就会丢失。与ListView的外部相同。

on aspx:

<ItemTemplate>
  <tr runat="server">
    <td>
      <asp:TextBox OnTextChanged="TextBox1_TextChanged" AutoPostBack="true"
            ID="Textbox1" runat="Server" Text="here is text"  />
    </td>
    <td>
  </tr>
</ItemTemplate>
代码隐藏中的

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
   TextBox TextBox1 = (TextBox) sender;
}