添加前重复检查

时间:2014-06-05 08:28:18

标签: c# asp.net

我想向所有人道歉。

谢谢大家。

似乎我错过了一个我甚至没有注意到的愚蠢的褶皱。 我认为这是我的支票被打破了,但没有我错过了上述方法中的var,所以它只是经常说是的,它是真的 - 谢谢大家的帮助

4 个答案:

答案 0 :(得分:0)

Dennis_E的回答是正确的。代码周围应该有大括号; lblNotRawConsignmentNumber.Text =" BLAH&#34 ;; isDuplicate = true;打破;&#34 ;.方法IeTest()将在第一次返回true,然后始终返回false。

答案 1 :(得分:0)

每次检查后都必须添加return;。因为现在你进行了检查,但之后没有什么能阻止你执行代码。你必须做这样的事情:

protected void BoxReceivedClick(object sender, EventArgs e)
{
    if (lblSupporterId.Text == "")
    {
        lblNotRawConsignmentNumber.Text = "Cannot Insert! Missing SupporterId";
        return;
    }
    else if (lblConsignmentNumber.Text == "")
    {
        lblNotRawConsignmentNumber.Text = "Cannot Insert! Missing Consignment Number";
        return;
    }
    else if (lblCollectionRequestId.Text == "")
    {
        lblNotRawConsignmentNumber.Text = "Cannot Insert! Missing Collection Request ID";
        return;
    }
    else if (Istest())
    {
        return;
    }

    InsertItemIntoReceivedBoxesTable(lblSupporterId.Text, txtReferenceNumber.Text, lblCollectionRequestId.Text);
    BindReceivedBoxes();
    ClearLabels();
}

答案 2 :(得分:0)

实际上,Istest()方法在找不到重复项时返回true,否则返回false

return !isDuplicate;

从return语句中删除!

答案 3 :(得分:0)

在您的程序中,检查单元格是否与新值匹配,然后将true分配给isDuplicate。然后将 Dupe测试值分配给lblNotRawConsignmentNumber

if (lblConsignmentNumber.Text != gvReceivedBoxes.Rows[i].Cells[3].Text)
{
  isDuplicate = true;
  lblNotRawConsignmentNumber.Text = "Dupe Teset";
  break;
}

尝试以下方法:

if (lblConsignmentNumber.Text == gvReceivedBoxes.Rows[i].Cells[3].Text)
{
  isDuplicate = true;
  lblNotRawConsignmentNumber.Text = "Dupe Teset";
  break;
}