0

我正在使用带有 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 时,如何防止字段变空,尤其是验证器消息

任何建议都非常感谢!

4

1 回答 1

0

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

于 2013-09-23T07:19:58.473 回答