日期:2014-05-18  浏览次数:20493 次

急求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