在保存按钮上实现检查可用性功能

本文关键字:性功能 检查 实现 保存 按钮 | 更新日期: 2023-09-27 18:06:16

我创建了一个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>";
        }
    }

当用户点击检查可用性链接按钮时,工作正常。还有一个"Save"按钮,用于保存表格中的用户信息。现在我的问题是,如果它显示"此用户名已被另一个用户使用"消息,该信息仍然保存在数据库中。请告诉我如何防止这种情况!!

在保存按钮上实现检查可用性功能

根据用户名在数据库中是否存在返回truefalse。你可以创建一个方法来检查用户的可用性。

当用户按下保存按钮时,如果方法返回true,则调用该方法,这意味着用户存在。

private bool CheckUserAvailability()
{
        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>";
            return true;
            }
            else
             {
              valDuplicatePassword.Visible = true;
              valDuplicatePassword.Text = "<b>Congratulations! " + txtLoginEmailAddress.Text + " is available.</b>";
              return false;
            }
 }

您也可以在link click上调用此方法。

protected void lnkCheckAvailable_Click(object sender, EventArgs e)
{
     CheckUserAvailability();
}

如果用户不存在,你将在Save按钮上调用这个方法,然后将信息保存在数据库中。

protected void Savebtn_Click(object sender, EventArgs e)
{
   if(CheckUserAvailability() == false)
   {
    SaveUserInfoToDataBase();
   }
}