不要用中文Session("index")=value
其中index为索引项,相当于一个变量,能用中文的变量吗?

解决方案 »

  1.   

    比如把session("级别")改为session("grade")
      

  2.   

    把session("级别")取出来的值是OBJECT,向下转型必须显式的转换。
    在C#中:
    ((DOUBLE) session("级别")) =  2
      

  3.   

    session("真名")="" then ...
    已成功实现但是,我现在想加入对“级别”的判断,
    却没有实现!!!请大家多多帮忙!!!
      

  4.   

    >>if session("级别")=2 or session("级别")=3 thenIf System.Convert.ToInt32(session("级别"))=2 or System.Convert.ToInt32(session("级别"))=3 Then
      

  5.   

    感谢xueyhfeng、 zhongkeruanjian:
    vb 如何转变这个对象类型???
      

  6.   

    晕,CSDN的数据添加调用有点问题,我的回复竟然成这样的了
      

  7.   

    非常感谢您的多次答复:
    但是,由于我的水平问题还没解决呀
    代码如下:
    <script language=vb runat=server>
    sub page_load(sender as object,e as eventargs)
    if session("真名")="" then
    response.redirect("login.aspx")
    end if  ——————/这部分已经实现,但是加上下面的部分,结果错误。/ if System.Convert.ToInt32(session("级别"))="2" or System.Convert.ToInt32(session("级别"))="3" then
    response.redirect("high.aspx")
    end if
    end sub</script>
    “/WebApplication1”应用程序中的服务器错误。
    --------------------------------------------------------------------------------输入字符串的格式不正确。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 5:   response.redirect("login.aspx")
    行 6:  end if
    行 7:  if System.Convert.ToInt32(session("级别"))="2" or System.Convert.ToInt32(session("级别"))="3" then
    行 8:   response.redirect("high.aspx")
    行 9:  end if
     源文件: c:\inetpub\wwwroot\WebApplication1\agent\edit.aspx    行: 7 堆栈跟踪: 
    [FormatException: 输入字符串的格式不正确。]
       System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0
       System.String.System.IConvertible.ToInt32(IFormatProvider provider) +40
       System.Convert.ToInt32(Object value) +36
       ASP.edit_aspx.page_load(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebApplication1\agent\edit.aspx:7
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
      

  8.   

    if System.Convert.ToInt32(session("级别"))="2" or System.Convert.ToInt32(session("级别"))="3" then我晕,2,3不要打引号,打了引号就成了字符串了,
      

  9.   

    把引号去掉,如果要用字符串,就把System.Convert.ToInt32()改为System.Convert.ToString()
      

  10.   

    if session("级别")=cstr(2) or session("级别")=cstr(3) then 
        response.write(您的级别不够!您在进级后可访问该功能模块!!!)
    end if转换为字符就可以了。
      

  11.   

    非常感谢您的多次答复:
    但是,由于我的水平问题还没解决呀
    代码如下:
    <script language=vb runat=server>
    sub page_load(sender as object,e as eventargs)
    if session("真名")="" then
    response.redirect("login.aspx")
    end if  ——————/这部分已经实现,但是加上下面的部分,结果错误。/ if System.Convert.ToInt32(session("级别"))=2 or System.Convert.ToInt32(session("级别"))=3 then
    response.redirect("high.aspx")
    end if
    end sub</script>“/WebApplication1”应用程序中的服务器错误。
    --------------------------------------------------------------------------------输入字符串的格式不正确。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 5:   response.redirect("login.aspx")
    行 6:  end if
    行 7:  if System.Convert.ToInt32(session("级别"))=2 or System.Convert.ToInt32(session("级别"))=3 then
    行 8:   response.redirect("high.aspx")
    行 9:  end if
     源文件: c:\inetpub\wwwroot\WebApplication1\agent\edit.aspx    行: 7 堆栈跟踪: 
    [FormatException: 输入字符串的格式不正确。]
       System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0
       System.String.System.IConvertible.ToInt32(IFormatProvider provider) +40
       System.Convert.ToInt32(Object value) +36
       ASP.edit_aspx.page_load(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebApplication1\agent\edit.aspx:7
       System.Web.UI.Control.OnLoad(EventArgs e)
       System.Web.UI.Control.LoadRecursive()
       System.Web.UI.Page.ProcessRequestMain() 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 
      

  12.   

    真不知道为什么zhongkeruanjian(鸭子) 说的方法还是行不通,错误原因见上
    按照 menuvb(像风一样漂泊) :结果只是对session("真名")进行判断
    but  ——对“级别”根本没反应
    测试数据  真名(varchar):“理想”  
              级别(char): “3”<script language=vb runat=server>
     
    sub page_load(sender as object,e as eventargs)
    if session("真名")="" then
    response.redirect("login.aspx")
    end if 
    if session("级别")=cstr(2) or session("级别")=cstr(3) then 
        response.write(您的级别不够!您在进级后可访问该功能模块!!!)
    end if
    end sub</script>各位能否在帮忙看一下!!!
    不胜感激!!!
      
     
      

  13.   

    <script language=vb runat=server>
     
    sub page_load(sender as object,e as eventargs)
    if session("真名")="" then
    response.redirect("login.aspx")
    end if 
    if System.Convert.ToString(session("级别"))="2" or System.Convert.ToString(session("级别"))="3" then 
        response.write(您的级别不够!您在进级后可访问该功能模块!!!)
    end if
    end sub</script>
      

  14.   

    谢谢xueyhfeng
    编程的机器刚刚关掉非常感谢你的多次耐心答复!!!
    我明天试试,:D
      

  15.   

    if System.Convert.ToString(session("级别"))="2" or System.Convert.ToString(session("级别"))="3" then 
        response.write(您的级别不够!您在进级后可访问该功能模块!!!)
    end if
    /////////
    如果这样System.Convert.ToString(session("级别"))转换字符串不是很麻烦吗?
    这样写不是更好if session("级别").ToString()="2"
      

  16.   

    测试数据  真名(varchar):“理想”  
              级别(char): “3”
    你的 session("级别"))是CHAR类型的?
    这就用liuzhonghe(呆头鹅) 方法
      

  17.   

    谢谢各位帮忙!
    原来是int
    后来改成char的