c#字符串条件在此不起作用

c#字符串条件在此不起作用,c#,C#,我有一些电子邮件帐户处于if状态,并做出一些简单的决定,但这不适用于我,请帮助我找出问题。这是我的代码 if (!this.IsPostBack) { if ((lblemail.Text.Equals("ali.saleem@shakarganj.com.pk")) || (lblemail.Text.Equals("altaf.saleem@shakarganj.com.pk")) || (lblemail.Text.Equals("

我有一些电子邮件帐户处于if状态,并做出一些简单的决定,但这不适用于我,请帮助我找出问题。这是我的代码

 if (!this.IsPostBack)
            {
                if ((lblemail.Text.Equals("ali.saleem@shakarganj.com.pk")) || (lblemail.Text.Equals("altaf.saleem@shakarganj.com.pk")) || (lblemail.Text.Equals("anjum.saleem@shakarganj.com.pk")) || (lblemail.Text.Equals("ibrahim.cheema@shakarganj.com.pk")) || (lblemail.Text.Equals("malik.adeel@shakarganj.com.pk")))
                {
                    GridView2.Visible = true;
                    GridView1.Visible = false;
                }
                else
                {
                    GridView1.Visible = true;
                    GridView2.Visible = false;
                }
            }
在这里,我想用一种简单而恰当的方式来处理我的要求,请帮助我。

不应该是“tbEmail”(或类似的东西)而不是“lblemail”?lblemail.Text的值是多少?

列出所有电子邮件地址的
列表,并执行如下检查:

List<string> emailAddresses = CreateList();
if(emailAddresses.Contains(lblemail.Text))
{
      // Whatever you need to do
}
else
{
      // do the other thing
}
List emailAddresses=CreateList();
if(emailAddresses.Contains(lblemail.Text))
{
//不管你需要做什么
}
其他的
{
//做另一件事
}

看起来一切正常。也许问题是由于资本化或修剪?试试这个:

if ((lblemail.Text.ToLower().Trim().Equals("ali.saleem@shakarganj.com.pk")) || 
    (lblemail.Text.ToLower().Trim().Equals("altaf.saleem@shakarganj.com.pk")) ||    
    (lblemail.Text.ToLower().Trim().Equals("anjum.saleem@shakarganj.com.pk")) || 
    (lblemail.Text.ToLower().Trim().Equals("ibrahim.cheema@shakarganj.com.pk")) || 
    (lblemail.Text.ToLower().Trim().Equals("malik.adeel@shakarganj.com.pk")))
{
    GridView2.Visible = true;
    GridView1.Visible = false;
}

定义“不工作”。什么不起作用?您应该使用不区分大小写的测试吗?即使我的lblemail等于
malik,该语句也将直接转到其他部分。adeel@shakarganj.com.pk
您的要求是什么?哪些不适用?您确定两种情况下的情况相同吗?没有多余的空格吗?使用相同的文化?有趣的是,所有的答案只是随机地试图找到一个不清楚问题的解决方案@user1505962只需发布lblemail的内容!虽然这样做是个好主意,但我认为这不是真正的问题。但公平地说,我认为没有人真正知道现在的问题是什么:)也许他不知道电子邮件需要区分大小写?什么,你是说电子邮件地址。添加(“my@test.com")?我确信lblemail等于if条件中的一个字符串,但这不起作用,这就是为什么我在堆栈上发布,希望我的代码有问题。我只是认为你比较了错误控件的文本。老实说,我喜欢这个答案:)这是一些很好的观察技巧。你应该使用uppe,因为一些unicode字符的行为-呃-呃-奇怪,因为在使用tolower时你会改变字符(不仅改变大小写),实际上他应该使用忽略大小写的StringComparer,例如StringComparer.InvariantCultureIgnoreCase