防止形式变空

时间:2013-09-23 07:11:09

标签: asp.net vb.net vb.net-2010

我正在使用带有vb.net的asp.net

我有一个表格,其中2 div 1 div用于登录,另一个用于注册,我使用css为这2个div设置动画

我的问题是,在注册时我需要测试用户名是否已经存在,所以我需要访问我的数据库,我正在使用自定义验证器验证用户名,所以当我的应用程序转到vb代码验证时用户名正在重新加载页面,所有字段都变为空,包括验证程序的错误消息

vb代码:

Public Sub cusCustom_RegisterValidate(sender As Object, e As ServerValidateEventArgs)
    Dim tbuFirstName As TextBox = Page.FindControl("usernamesignup")
    If tbuFirstName.Text = form.username Then
        e.IsValid = False
        Session("validd") = False
        CustomValidator2.ErrorMessage = "username already exists"
    Else
        e.IsValid = True
        Session("validd") = True
    End If
End Sub

Protected Sub btn_signup_Click(sender As Object, e As System.EventArgs) Handles btn_signup.Click
    If Session("validd") = False Then
        Response.Redirect("LOGIN.aspx#toregister")
        CustomValidator2.ErrorMessage = "Username already exists"
    End If
End Sub

asp代码:

 <p> 
      <label for="usernamesignup" class="uname" data-icon="u">Your username</label>
      <label for="usernamesignup" class="uname"  style="color: red;">*</label>
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
       ErrorMessage="Username is required !" ForeColor="Red" ControlToValidate="usernamesignup" Font-Bold="true" ValidationGroup="registerGRP" Display="Dynamic"></asp:RequiredFieldValidator>
      <asp:CustomValidator ID="CustomValidator2" runat="server" Display="Dynamic"
        ValidationGroup="registerGRP" Font-Bold="true" ForeColor="Red" onservervalidate="cusCustom_RegisterValidate"></asp:CustomValidator>
      <asp:Textbox runat="server" id="usernamesignup" name="usernamesignup" type="text" placeholder="mysuperusername690" />
</p>

当用户名已经存在时,我必须强制重定向到寄存器div(因为当它自动有效时,页面被加载并重定向到登录div)

所以当重定向到寄存器div时,如何防止字段变空,尤其是验证器消息

任何建议都非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试在页面的if(!IsPostBack)属性中编写代码。