ASP:ontextchanged没有触发

时间:2012-02-10 15:04:05

标签: asp.net ajax ascx

注意:我是ASP.NET的新手。我实际上是在周一接受培训,但我们有一个热门项目,要求我尽可能多地潜入并完成工作。

我的页面上有一个文本框,我希望它能在服务器上调用一个事件。如果"改变了我就不在乎"意味着改变并失去焦点,或者只是在密钥发生时。这两种情况都有效。

问题在于,出于某种原因,每当我更改文本框然后删除焦点时,服务器端方法都不会被调用。通过Chrome中的调试器查看,我甚至看不到任何类型的AJAX调用会通知服务器文本框已更改。

我的代码:

ASCX文件

    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
        <ContentTemplate>
            <asp:TextBox ID="tempTagBuilder" runat="server" 
                CssClass="depBuilder_tempTagBuilder" 
                ontextchanged="tempTagBuilder_TextChanged" AutoPostBack="True"></asp:TextBox>
        </ContentTemplate>
    </asp:UpdatePanel>

ASCX.cs文件

    //whenever the text is changed
    protected void tempTagBuilder_TextChanged(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Hit");
    }

任何人都知道我的问题可能是什么?

更新1:

我得到了它(有点)。我必须进入updatepanel的属性并将textchanged事件添加到triggers集合中。但是,现在无论何时发送更新,它都会清空我页面上的其他文本框!

1 个答案:

答案 0 :(得分:0)

它不会触发,因为它最有可能出现在更新面板中。似乎updatepanel要求您为事件设置触发器。

Problem with textbox inside updatepanel - not causing OnTextChanged event