<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上的用户名为aaa后再提交,那么username.text=“abc,aaa” 
这是怎么回事,难道前面的值存到缓存中了么?如何能够正确读出修改后的textbox值! 

解决方案 »

  1.   

    很大的机会是UserInfo.ExistsUser里的内容出错
      

  2.   

    我可以保证UserInfo.ExistsUser没错,UserInfo.ExistsUser只是回复一个bool型的值而已
      

  3.   

    你代码里的ShowMessageBox是怎么动作的?
      

  4.   


    这个范围要么是太小了,要么是太大了。把整个table放入UpdatePanel,或者你的每一个tr中的部分分别放入两个UpdatePanel。
      

  5.   

    你既然怀疑是UpdatePanel出错那就把它去掉,再调试看看出错不,