试一下:
loginname=Session["Department"].ToString().Trim();false可以用非正数表示,-1,0都正常!
输出1,即两字符串值相等;

解决方案 »

  1.   

    为什么要输出0呢?
    1相等,-1不相等。难道还有其他情况吗?
    建议:
    loginname=Convert.toString(Session["Department"]);
    直接"Session["Department"].ToString();",如果Session["Department"]为null的话,
    会引起错误。
      

  2.   

    loginname=(string)Session["Department"];
    试一下
      

  3.   

    loginname=(string)Session["Department"];我已试过了,不行
    int String.Compare(string a,string b)只有当a,b相等的时候,才等于0
    如果不等,才为负数或者正数
      

  4.   

    在別的地方定義一個Session
    用這個測試一下啊
    private void Button1_Click(object sender, System.EventArgs e)
    {
       string aaa="12345";
       if(aaa==(string)Session["aaa"])
    Response.Write("<script>alert('ok')</script>");
       else
    Response.Write("<script>alert('fail')</script>");

    }
      

  5.   

    代码如下,是一个button后引发的事件,其中要对前一个页面传来的参数进行判断 
    public  void SubmitBtn_Click(object sender, System.EventArgs e)
        {
    //注意:如果加上下面的代码,那么会有重复显示的情况,所以重新定向了一个show.aspx页面,框架大小还是MachineSearch.aspx大小
       string loginname=null;
       loginname=Session["Department"].ToString().Trim();
       string departmentname="设备科";
       Response.Write(String.Compare(loginname,departmentname));
    /********************下面是正常的代码,上面一行代码是用做测试的******************
        if(String.Compare(loginname,departmentname))
       {
        
        if(TextBox1.Text==""&&TextBox2.Text=="")
    Response.Redirect("machinedeptshowall.aspx");
    else if(TextBox1.Text!=""&&TextBox2.Text=="")
        {
        Session["MachineID"]=TextBox1.Text.Trim();
        //Server.Transfer("machinedeptshowpart1.aspx"); 
    Response.Redirect("showpart1.aspx");
    }
    else if(TextBox1.Text==""&&TextBox2.Text!="")
        {
        Session["MachineName"]=TextBox2.Text.Trim();
    Response.Redirect("machinedeptshowpart2.aspx");
    }
    else
        {
        Session["MachineID"]=TextBox1.Text.Trim();
        Session["MachineName"]=TextBox2.Text.Trim();     Response.Redirect("machinedeptshowpart3.aspx");
                 }
          Response.Write("输入相等");  
        }
     else
       {
    if(TextBox1.Text==""&&TextBox2.Text=="")
    Response.Redirect("showall.aspx");
    else if(TextBox1.Text!=""&&TextBox2.Text=="")
        {
        Session["MachineID"]=TextBox1.Text.Trim();
        //Server.Transfer("showpart1.aspx"); 
    Response.Redirect("showpart1.aspx");
    }
    else if(TextBox1.Text==""&&TextBox2.Text!="")
        {
        Session["MachineName"]=TextBox2.Text.Trim();
    Response.Redirect("showpart2.aspx");
    }
    else 
        {
        Session["MachineID"]=TextBox1.Text.Trim();
        Session["MachineName"]=TextBox2.Text.Trim();
              Response.Redirect("showpart3.aspx");
            } 
       Response.Write(loginname);
       }
    ******************************************************************************//********************下面两行是做测试用的*************************************
       Response.Write(loginname);
       Response.Write(departmentname);
    ******************************************************************************/
       
       
    }
      

  6.   

    sUserName = CType( Session( "UserName" ), String );string departmentname="设备科"; Response.Write( sUserName==departmentname );我想你在用这个方法试一试。
      

  7.   

    谢谢各位大侠,问题解决,各位的方法我都试了一下,皆行之有效
    我加了一个Trim()方法后,搞定了
    呵呵也给了我一个教训