用asp.net设置用户登录的cookie值如下:
 Response.Cookies["userNameCookie"].Value = Server.UrlEncode(userid)获取用户cookie值如下:
Server.UrlDecode(Request.Cookies["userNameCookie"].Value以上方法在asp.net页面确实都没错,很好用,但门户网站很多页面都是html的静态页,比如主页和内容页。
在html的页头要显示用户登录信息,要判断cookie值,有的话显示用户信息,没有的话显示登录框。
我的页面编码是utf-8 请问如何实现这个功能,js读取.net的cookie会乱码,所以最好能有成功的源码,谢谢!

解决方案 »

  1.   

    try:function getCookie(name)//取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
       
         if(arr != null) return decodeURIComponent(arr[2]); return null;
        
    }
      

  2.   

    一般用unescape会有乱码,用decodeURIComponent应该可以
      

  3.   

    请问getCookie 这个函数如何调用?如何写在页面?
      

  4.   

    function getCookie(name)
    {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen)
        {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
                return getCookieVal(j);
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) break;
        }
        return "";
    }
    function getCookieVal(offset)
    {
        var endstr = document.cookie.indexOf(";", offset);
        if (endstr == -1)
            endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
    }
     function SetCookie(cookieName, cookValue)
        {
            var date = new Date();
            date.setTime (date.getTime()+3600000000);  
            document.cookie = cookieName + "=" + cookieValue + ";expires=" + date.toGMTString();       }
        参考
      

  5.   

    现在就用的动态页嵌入iframe  非常不专业
    wuyq11的代码都是用Js操作的cookie 而我的是.net操作的 用js读取,思路不同
      

  6.   

    用过了2楼的代码 提示 被解码的URI不是合法的编码