建立了一个教师表,要求一个老师管理一个班级,在进入班级管理页面时输入代码
if (Session["jiaoshiid"] == null || Session["jiaoshiid"] != "1")
        {
            Response.Write("<script>alert('本班教师只能管理本班学生!')</script>");
            Server.Transfer("jiaoshidenglu.aspx");
        }
但是在教师登录之后转到这个界面时仍会提示“本班教师只能管理本班学生”,求高手指教,万分感谢

解决方案 »

  1.   

    F9断点调试,看下Session["jiaoshiid"]的值应为null或不为"1"
      

  2.   

     有个警告是这样的“可能非有意的引用比较;若要获取值比较,请将左边转换为类型“string””
      

  3.   

    Session["jiaoshiid"] == null你这个条件也太“托大”了吧?!所以你给出的Response信息是个误报!
      

  4.   

    写程序一定不要随便写出大话来。你这个程序的逻辑应该写if (Session["jiaoshiid"] != null && Session["jiaoshiid"] != "1")
      {
      Response.Write("<script>alert('本班教师只能管理本班学生!')</script>");
      Server.Transfer("jiaoshidenglu.aspx");
      }
    else
      .......
    这才是正常的逻辑思路。如果你随便夸大逻辑,那么就会自欺欺人地看到误报的信息。
      

  5.   

    if (Session["jiaoshiid"] != null && Session["jiaoshiid"] != "1")
      {
      Response.Write("<script>alert('本班教师只能管理本班学生!')</script>");
      Server.Transfer("jiaoshidenglu.aspx");
      }
    试了一下,没登录都不提示'本班教师只能管理本班学生!',这是怎么回事呢?
      

  6.   

    因为你没有写else
        .....
    部分啊!你看来一点也没有读懂我的意思。
      

  7.   


    public static string ToString(object pObj) {
        return ToString(pObj, "");
        }
    public static string ToString(object pObj, string pDefaultVal) { 
        try {
            if(string.IsNullOrEmpty(pDefaultVal)) pDefaultVal = "";
            return System.Convert.ToString(pObj);
            }
        catch { return pDefaultVal;}
        finally { }
        }
      

  8.   


    if (MyHelper.ToString(Session["jiaoshiid"])!= "1"){
        //codes
        //.......
        }