前几天做一个条件
if(Name.ToString()=="管理员")
{
   }
如果 Name的值是管理员的话就走大括号里德代码。 
奇怪的是:现在这个条件怎么也不成立了。无论Name的值是不是管理员,程序死活就不走大括号离得代码。
请大家帮忙解决一下!!!!!!!!!!!!!

解决方案 »

  1.   


    if(Name.ToString().Trim()=="管理员")
    {
       //your code
    }
      

  2.   

    如果Name是个控件用ToString方法获取的是该控件的类型不是值
    所以要先知道Name是个什么东东
      

  3.   

    if(Name.ToString().Trim()=="管理员")
    {
       //your code
    }
      

  4.   

    我估计不是这个问题..你调试下获取下name看下正常不
      

  5.   

     if (name.Text.Equals("管理员"))
    {
    /..............
    }
      

  6.   

    你的name是什么东西啊  我这里的name 是控件ID
      

  7.   

    你跟踪一下,看一下,Name的值是不是管理员如果确定是,还不走大括号的话,我怀疑是不是你Name里面存的那个字符串和 “管理员” 这个字符串不是一样的编码,编码不一样,虽然字一样,那也是有问题的
      

  8.   

    首先要确定Name到底是什么,ToString()后得到的是什么,如果仍然是string型的话,试试这个:if(string.Equals(Name.ToString().Trim(),"管理员"))
    {
      //your code

      

  9.   

    if(Session["Name"].ToString()=="管理员")
    {
    。。
    }
    ,我试过调试了从session取得的Name值是管理员,但是走这个条件就是不行
      

  10.   

    if("管理员"=="管理员")
    {
    //我就不信不执行这儿的代码
    }还是检查你的name实际值吧
      

  11.   

    1.用Trim()
    2.检查你的中文输入的时候是不是全角和半角不对
      

  12.   

    你先把name的值取出来,调试的时候,看值是否是管理员,然后再依次执行,调试很重要,要不然,你只有自己猜哪儿错了
      

  13.   

    你先把name的值取出来,调试的时候,看值是否是管理员,然后再依次执行,调试很重要,要不然,你只有自己猜哪儿错了调试断点
      

  14.   

    从session里得到的值转换成string类型的,然后在和“管理员”比较,如果相等就走条件,我调试看过了session里值肯定是管理员,为什么他们就不相等呢。
      

  15.   

    if ("管理员".Equals(name.Text.Trim()))
    {
    /..............
    }
      

  16.   

    Response.Write(Name)
    应该不是“管理员”,是的话会相等
      

  17.   

    字符串好像不可以用 ==  来比较吧   用Equals 应该可以比较两个字符串
      

  18.   

     是从session里取得值,并且取得值是管理员,但是就是不相等。
      

  19.   

    ==,equals, compareto 我都试过了,不行。。
      

  20.   

    引用类型 应该用equals函数啊!
      

  21.   

    这个主要调试的时候看下值 是多少就行了..要学会调试
    var name=session["name"].tostring();看看它的值是多少..还有就是不要用中文来表示管理员之类的..不是明志之举
      

  22.   

    F9设置断点,F5连续执行到断点,F10但不执行,LZ试试吧
      

  23.   

    if("管理员".Equals(name))
    不行的话再调试下,看下值是什么类型的
      

  24.   

    if("管理员".Equals(name))
    不行的话再调试下,看下值是什么类型的
      

  25.   

    name=="管理员"
    name.Equals("管理员")
    这两个是不同的概念。比较字符串的时候用Equals是最安全的
      

  26.   

    if(Name.ToString().Trim()=="管理员")
    {
      }
      

  27.   

    还是要先清楚问题是什么。这个问题应该是出现在那个“Name”上了,先清楚它,清楚它中的哪个属性是你想要拿出来做比较的。然后再看是否相等
      

  28.   

    string a="aaa";
    if(a.Equals("aaa"))
    {
       .....
    }else
    {
      ....
    ]
      

  29.   

    如果session的值确实是“管理员”,那就是编码问题了,不同的编码方式也会造成程序的问题,把session里的值取出来编一下码
      

  30.   

     我不知你name是个什么空间啊一般来说是textbox控件么?  不是也没关系
        if(name.text.trim()=="管理员")
       {
          //执行
        }
    或者你这样看一下
    string name=name.text.trim();
    if(name="管理员")
    {}
    这两个方法匹配一下
      

  31.   

    问题没出在判断上,看一下name的值不就行了吗,这是个再简单不过的问题啊
      

  32.   

    if(Name.ToString()=="管理员")
    {}
      

  33.   

    字符串的判断有两种形式:
    equal函数是比较对象的值相等
    而==是判断的是否是同一个对象
    举个例子吧:
    string a="管理员";
    string b="管理员";
    if(a==b)
    {
    messageBox.show("相等")
    }
    else
    {
    messageBox.show("不相等");
    }//结果肯定是“不相等”
      

  34.   

    请问您测试过了没?
    如果没记错的话,string的==是重载过了的 用于判断值是否相等
      

  35.   

    字符串可以用==的,这个类似的问题我也遇到过,明显从数据库提取的数据和输入的看起来一样,但就是不执行,结果ToString().Trim()后,if成立
      

  36.   

    是否跟你的SESSION的编码有关,你可以尝试在session中存放一个英文单词,然后与这个英文单词比较一下试试。随便看看你的WEB.COFIg
      

  37.   

    if (name.Equals("管理员") == false)
    {
         MessageBox.Show("不等!");
         return;
    }
    MessageBox.Show("等!");
      

  38.   


    if (name.Equals("管理员") == false)
    {
      MessageBox.Show("不等!");
      return;
    }
    MessageBox.Show("等!");
      

  39.   

    晕倒,这种问题也拿到这里来问
    你把ToString()的值赋给一个字符串
    然后调试下看看,值到底是什么程序是不会出错的,.NET也不可能有这样的bug
      

  40.   

        不过之前我也遇到一个问题,也是我身边很多开发人员都遇到过的:
        明明一个if语句是成立的,按道理运行的时候会进入if语句内部的,但是它就是不进去,结果我们用断点调式后,它才进去。不知道其他人遇到过没,而且我们也都知道,运行的时候编译器已经对整个解决方案都进行了一次生成!对于上面我描述的问题,不知道是不是vs有bug还是(个人理解)
        
        建议LZ先进行断点调试,然后我觉得应该是没问题了。
      

  41.   

    看下你name 的值是不是管理员调试下啊
      

  42.   

    session 先判断是不是null
     此消息通过 【CSDN论坛 Winform测试版】 回复!龙月.NET的博客
      

  43.   

    Name是神马东东?看看Name是否重写了toString()方法……
      

  44.   

    不要ToString()方法被重写过。。