我有一个用户名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";
}
}
}
谢谢你的帮助。
答案 0 :(得分:1)
您需要将AutoPostBack="true"
添加到TextBox中。这将导致它回发并为该服务器端事件触发。
有更好的方法来完成你想要完成的任务,其中大多数都不需要整页回发。我会尝试使用javascript更改事件进行AJAX调用,并使用类似回调方法的内容。