2009-11-06 4 views
1

De la manière la plus simple: comment puis-je vérifier la disponibilité du nom d'utilisateur? Lorsque j'entre un nouvel utilisateur dans une zone de texte et que je clique sur le bouton Vérifier la disponibilité, s'il est disponible, il doit afficher en vert le nom d'utilisateur disponible. Et il ne devrait pas dupliquer les noms d'utilisateur. Je veux dire que deux noms d'utilisateur ne devraient pas être identiques.Comment vérifier la disponibilité et l'unicité du nom d'utilisateur dans ASP.NET?

+1

Comment stockez-vous vos noms d'utilisateur? Sont-ils dans la base de données? Dans l'adhésion à asp.net? – GenericTypeTea

+0

Salut M. David Basarab, je stocke les noms d'utilisateur dans la base de données. – Sumit

Répondre

0

En supposant que vous stockez les noms d'utilisateur dans la base de données, vous pouvez effectuer un appel Ajax pour vérifier la disponibilité dans la base de données. jQuery a une excellente bibliothèque Ajax.

3

Si vous utilisez les membres ASP.NET, vous pouvez simplement faire:

string userNameToCheck = txt_Username.Text; 

MembershipUser existingUser = Membership.GetUser(userNameToCheck); 
bool exists = existingUser != null; 

Si vous utilisez une structure de base de données différente à l'adhésion ASP.NET, il vous suffit de faire une requête like sur votre table utilisateur (en remplacement uSERTABLE, et UserName « Nom d'utilisateur », respectivement):

SELECT * 
FROM 
    UserTable 
WHERE 
    UserName Like 'Username' 

Si vous récupérez retour des résultats, alors que le nom d'utilisateur a déjà été utilisé.

+0

return Membership.GetUser (txt_Username.Text)! = Null; –

+0

Je l'ai décomposé en 3 lignes pour donner un meilleur exemple. – GenericTypeTea

0

suppose que vous avez des champs nom d'utilisateur et mot de passe dans votre application .. lorsque vous entrez quelque chose dans le nom d'utilisateur et cliquez sur l'onglet, nous devons vérifier si le nom d'utilisateur disponible ou non ... maintenant j'expliquer ici

enter image description here

Dans la page ci-dessus j'ai 2 boîtes ... à double clcik sur zone de texte username .. il ira à

txtUsername_TextChanged protected void (object sender, EventArgs e) { }

[txtUsername est le nom de mon champ de saisie du nom d'utilisateur]

maintenant dans cet événement txtUsername_Textchanged nous devons écrire le code pour la disponibilité de l'utilisateur ..

tout ce que nous donnons dans le nom d'utilisateur, il comparera avec colonne de nom d'utilisateur dans la base de données .. donc d'abord nous récupérer les valeurs de la colonne nom d'utilisateur dans le lecteur de données .. alors si nous avons des lignes dans le lecteur de données, alors que le nom d'utilisateur a déjà pris, sinon il est disponible ..

 protected void txtUsername_TextChanged(object sender, EventArgs e) 

    { 

     if (!string.IsNullOrEmpty(txtUsername.Text)) 
    { 

SqlConnection con = nouvelle SqlConnection (ConfigurationManager.Con nectionStrings ["ymk"]. ConnectionString);

 con.Open(); 

SqlCommand cmd = new SqlCommand ("select Emplacement de données où emplacement = @ Nom", con);

 cmd.Parameters.AddWithValue("@Name", txtUsername.Text); 

     SqlDataReader dr = cmd.ExecuteReader(); 

      if (dr.HasRows) 
     { 
      checkusername.Visible = true; 

      lblStatus.Text = "UserName Already Taken"; 
     } 
     else 
     { 
      checkusername.Visible = true; 

      lblStatus.Text = "UserName Available"; 
     } 
    } 
    else 
    { 
     checkusername.Visible = false; 
    } 
} 
Questions connexes