我正在使用带有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时,如何防止字段变空,尤其是验证器消息
任何建议都非常感谢!
答案 0 :(得分:0)
尝试在页面的if(!IsPostBack)
属性中编写代码。