我做了一个新闻发布系统,所有的新闻都生成了静态页!
现在碰到个 问题:
如果会员登陆了,在进入新闻页时,显示“欢迎xx”,我怎么在html中,用js判断session是否存在!
谢谢@!

解决方案 »

  1.   

    欢迎xx 是在标题中的? 还是在网页中的?应该是这个写 JS中的吧,JS中包含一个 .aspx的文件。
      

  2.   


       function checsessoin()
       {
          var strSession = "<%=Session["uid"] %>".toString(); 
           if( strSession == "")
           {
              alert('请先登录');
              return false;
            }
        }
      

  3.   

    那就是按我说的了,在要显示文字的地方,写个javascript  包含 .aspx的网页, 然后在.aspx中判断是否登陆  来显示不同的内容 。
      

  4.   


    <script src="test.aspx"></script>
    aspx中的代码应该是:
    Response.Write "document.write(‘这样写’);"
     类似吧
      

  5.   

    asp中是这样,.net中我没试过,你自己测吧。
      

  6.   

    先在后台保存Session["uid"],将它公开。然后再在前台代码中写三楼的方法就OK啦。
      

  7.   

    貌似都不行啊,那段js代码拷过去,我在html调用,直接就语法错误!
      

  8.   


    你把后台session放哪声明的?
      

  9.   

    一般的, session 是通过 cookie 来维持的, cookie 的名字可以通过配置指定一个名称
    msdn 中的片断<sessionState
        mode="[Off|InProc|StateServer|SQLServer|Custom]"
        timeout="number of minutes"
        cookieName="session identifier cookie name"
        cookieless=
            "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
        regenerateExpiredSessionId="[True|False]"
        sqlConnectionString="sql connection string"
        sqlCommandTimeout="number of seconds"
        allowCustomSqlDatabase="[True|False]"
        useHostingIdentity="[True|False]"
        stateConnectionString="tcpip=server:port"
        stateNetworkTimeout="number of seconds"
        customProvider="custom provider name">
        <providers>...</providers>
    </sessionState> 
    在 js 中可以判断这个名称的 cookie 是否存在.
    function getCookie(name) {
        var cookies = document.cookie.split(";");
        for (var i = 0; i < cookies.length; ++i) {
            var a = cookies[i].split("=");
            if (a.length == 2) {
                a[0] = a[0].trim();
                a[1] = a[1].trim();
                if (a[0] == name) {
                    return unescape(a[1]);
                }
            }
        }
        return "";
    }如果是 cookieless 的 session, id 则编码在了 url 中.
      

  10.   

    3楼的做法 在 aspx 页面中可以。楼主是纯静态页面吧,那样不管用的,使用ajax吧
      

  11.   

    jquery判断吧。这样可能会好点。
      

  12.   

    用cookie保存会员状态就可以读了!
      

  13.   

    用 ajax 请求一下服务器那不是方便很多吗支持12楼
      

  14.   

    使用httprequest来调用一个动态页面(比如:aspx)进行判断,然后用js输出
      

  15.   

    引用 3 楼 q107770540 的回复:
    JScript codefunction checsessoin()
    {
    var strSession = "<%=Session["uid"] %>".toString();
    if( strSession == "")
    {
    alert('请先登录');
    return false;
    ……!!!
    [/Quote] 就是这样的
      

  16.   

    先顶下15楼,因为它的思路是正确的,通过客户端的sessionid来判断,但并不能保证用户在登录前就没有其它的session,所以最好的办法,如果用户登录了,就来个临时的cookie,这个临时的cooke要包括用户名,证明用户是否已经登录。然后用js读这个cookie,显示“欢迎XX”,关于js读取cookie的方法,楼主去网上搜就行了
      

  17.   

    这种写法可以在html页面中写吗?
    楼主用的是html页面,不是aspx页面啊...在页面加载时用ajax去后台判断session,然后返回一个值,根据值用js显示“欢迎XXX”。
    不知可行否?