我已經創建了一個aspx表單的鏈接按鈕,它檢查登錄電子郵件地址的可用性,其功能如下。在保存按鈕上執行檢查可用性功能
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>";
}
}
當用戶點擊檢查可用性鏈接按鈕時它工作正常。還有另一個按鈕「保存」,它將用戶信息保存在表格中。現在我的問題是,如果它顯示「此用戶名已被其他用戶使用」。消息的信息仍然保存在數據庫中。請告訴我如何防止這個!
爲什麼你有這兩個單獨的行動?當您執行「檢查可用性」檢查時,用戶名*可能*可用,但在您「保存」時可能已被*其他人*佔用。我想不出先運行單獨檢查的好處。 –
只需在If塊中禁用保存按鈕即可。 如果您想在保存時間內檢查用戶登錄電子郵件,As @Demien_The_Undeliever說,您可以在保存操作中進行檢查並發現錯誤。 –