急求UpdatePanel中使用textbox的一个棘手问题的解答!!
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<tr>
<td width="100" height="35" align="right" valign="middle" style="border-bottom: 1px solid #cccccc;">
<font color="#FF0000">*</font> 登录名:
</td>
<td width="180" height="35" align="left" valign="middle" style="border-bottom: 1px solid #cccccc;">
<asp:TextBox ID="username" runat="server" MaxLength="16" Width="149px"></asp:TextBox>
</td>
<td height="35" width="170" align="left" valign="middle" style="border-bottom: 1px solid #cccccc;
color: red;">
<label id="chk_username">
</label>
</td>
</tr>
<tr>
<td width="100" height="35" align="right" valign="middle" style="border-bottom: 1px solid #cccccc;">
<font color="#FF0000">*</font> 昵 称:
</td>
<td width="180" height="35" align="left" valign="middle" style="border-bottom: 1px solid #cccccc;">
<asp:TextBox ID="nickname" runat="server" MaxLength="16" Width="149px"></asp:TextBox>
</td>
<td height="35" align="left" width="170" valign="middle" style="border-bottom: 1px solid #cccccc;">
<label id="chk_nickname">
</label>
</td>
</tr>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
后台程序
protected void btnSubmit_Click(object sender, EventArgs e)
{
string UserName = username.Text.Trim();
if (UserInfo.ExistsUser(UserName))
{
MessageBox.Show("很抱歉,此用户名已被占用,请选用其他的用户名!");
return;
}
}
UserInfo.ExistsUser(UserName)为验证username是否存在,不用考虑。
现在的问题是,当UserInfo.ExistsUser(UserName)为true时报错返回,然后修改页面上的textbox,结果再提交后username.Text得出的值为前面填入的已存在用户名加修改后的用户名。即,若username中填入abc,数据库中有这个用户,那么报错返回,用户修改textbox