我想用TextChanged事件判断用户是否已经存在,但不想刷新整个页面,于是将一个textbox和一个label空间放在了updatepanel里面,想实现局部刷新,但问题是只能判断一次,也就是说焦点离开textbox后只处理一次TextChanged事件,以后再怎么改变textbox的值都不触发textchanged事件了,不进行判断了,即使用户存在,也不处理textchanged里的事件了,下面是一些关键代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
                                                    </asp:ScriptManager>
                                                    <tr>
                                                        <td align="right" style="font-weight: 700">
                                                            用户名称<strong>:</strong>
                                                        </td>
                                                        <td>
                                                            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                                                                <ContentTemplate>
                                                                    <asp:TextBox ID="txtUserName" runat="server" Width="120px" AutoPostBack="True" OnTextChanged="txtUserName_TextChanged"></asp:TextBox>
                                                                    <asp:Label ID="Label1" runat="server" ForeColor="Red"></asp:Label>
                                                                </ContentTemplate>
                                                            </asp:UpdatePanel>
                                                        </td>
                                                    </tr>
 protected void txtUserName_TextChanged(object sender, EventArgs e)
    {
        Label1.Text = "";
        bll.users b_user = new bll.users();
        if (b_user.IsExists(txtUserName.Text))
        {
            Label1.Text = "用户已存在!";        }
        if (txtUserName.Text == "")
        {
            Label1.Text = "用户名不能为空!";
        }
        
       
    }

解决方案 »

  1.   

    我也自己解决了。只需把updatepanel内对应的子控件的事件添加到updatepanel的子集属性内就好了。
      

  2.   

    <Triggers>
                                            <asp:AsyncPostBackTrigger ControlID="templateName" EventName="TextChanged" />
                                        </Triggers>是这样的吗?为什么还是不行呢,请楼主提示一下,非常感谢