TextBox OnTextChanged事件ASP.NET后标签不会更改

时间:2015-04-09 15:49:04

标签: c# asp.net .net textbox label

我有一个用户名TextBox和一个Label,当TextBox文本被更改时,它应该更新为(V或X)。只有在我按下一个自动刷新页面的按钮时才会更新标签。

以下是代码:

<asp:TextBox ID="username" runat="server" OnTextChanged="checkUsername" Width="80%"></asp:TextBox>

<asp:Label ID="usernameCheck" runat="server" CssClass="checkL"></asp:Label>

和aspx.cs

protected void checkUsername(object sender, EventArgs e)
{
    if (username.Text.Length < 3 || username.Text.Length > 15)
    {
        //---Label = X (in red)
        usernameCheck.Text = "\u2715";
    }
    else
    {
        if (myBl.checkUsername(Convert.ToString(username)))
        {
            //---Label = X (in red)
            usernameCheck.Text = "\u2715";
        }
        else
        {
            //---Label = V (in green)
            usernameCheck.Text = "\u2713";
        }
    }

}


谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您需要将AutoPostBack="true"添加到TextBox中。这将导致它回发并为该服务器端事件触发。

有更好的方法来完成你想要完成的任务,其中大多数都不需要整页回发。我会尝试使用javascript更改事件进行AJAX调用,并使用类似回调方法的内容。