J'ai un wizardcontrol, où en une seule étape l'utilisateur peut entrer son nom, emailaddress, etc. phonenumberJavaScript asp: Assistant
Lorsque la presse utilisateur sur le bouton « Suivant » de l'assistant, je suis vérifier la base de données pour voir s'il existe un compte existant avec le numéro de téléphone spécifié.
Si tel est le cas, le système est supposé demander à l'utilisateur s'il va lier la nouvelle information à ce numéro, ou s'il va entrer un nouveau numéro de téléphone. S'il dit qu'il va lier l'information, l'information est liée et l'assistant passe à l'étape 2, et s'il va entrer un nouveau numéro de téléphone, l'assistant reste à l'étape 1.
Le code ressemble à ceci:
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{
if (Wizard1.ActiveStepIndex == 0)
{
Page.Validate();
if (Page.IsValid)
{
if (!Mobile_ValidateForExistingUsers(((TextBox)WizardStep1.ContentTemplateContainer.FindControl("txtPhone")).Text))
{
//JavaScript popup or something, which prompts the user?
}
}
}
}
où le valideur est:
protected bool Mobile_ValidateForExistingUsers(string usrPhone)
{
bool IsValid = false;
using (SqlConnection conn = new SqlConnection(connString))
using (SqlCommand cmd = new SqlCommand("spCheckMobile", conn))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@Mobile", usrPhone));
cmd.Connection.Open();
object result = cmd.ExecuteScalar();
if (result == null)
{
IsValid = true;
}
}
return IsValid;
}
Comment demander à l'utilisateur cette question, et soit continuer ou le laisser entrer de nouvelles informations dans un sorcier?