Ich habe eine Link-Schaltfläche in aspx Formular erstellt, die Verfügbarkeit der Login-E-Mail-Adresse und ihre Funktionalität zu überprüfen ist als.Implementieren Sie die Verfügbarkeit prüfen Funktionalität auf Speichern Schaltfläche
protected void lnkCheckAvailable_Click(object sender, EventArgs e)
{
SystemUserBL bl = new SystemUserBL(SessionContext.SystemUser);
ds = new DataSet();
bl.FetchForLoginEmailAddress(ds, txtLoginEmailAddress.Text);
if (ds.Tables[0].Rows.Count > 0)
{
valDuplicatePassword.Visible = true;
valDuplicatePassword.Text = "<b>This User Name is already in use by another user.</b>";
}
else
{
valDuplicatePassword.Visible = true;
valDuplicatePassword.Text = "<b>Congratulations! " + txtLoginEmailAddress.Text + " is available.</b>";
}
}
Es funktioniert gut, wenn Benutzer klicken Sie auf Verfügbarkeit prüfen Link-Taste klicken. Es gibt eine weitere Schaltfläche "Speichern", die die Benutzerinformationen in der Tabelle speichert. Jetzt ist mein Problem, wenn es angezeigt wird "Dieser Benutzername wird bereits von einem anderen Benutzer verwendet." Nachricht die Information ist noch in der Datenbank gespeichert. Bitte sag mir, wie ich das verhindern kann !!!
Warum haben Sie das als zwei separate Aktionen? Ein Benutzername * kann * verfügbar sein, wenn Sie die Prüfung "Verfügbarkeit prüfen" durchführen, aber möglicherweise von einem anderen * zum Zeitpunkt des Speicherns durchgeführt wurde. Ich kann mir keinen Vorteil vorstellen, wenn ich zuerst einen separaten Scheck durchführe. –
Deaktivieren Sie einfach Ihre Speichern-Schaltfläche in Ihrem If-Block. Wenn Sie die Benutzeranmelde-E-Mail in der Speicherzeit überprüfen möchten, wie As @Demien_The_Undeliever sagte, können Sie die Speicheraktion überprüfen und einen Fehler melden. –