近期遇到的一些有关于cookie,session,repeater的问题与总结

1、repeater控件,在前台获取数据的时候,获取的是被绑定数据的某项属性。当其


不具有属性时就会报错。(比如我用struct创建了一个包含person类和int型数据时


,把List<struct>绑定到repeater时,获取数据就会报错,原因,struct是值类型


。)

2、关于前台SessionId的问题。由于asp.net,给前台传入一个SessionId的cookie


的时候,默认httponly=true;所以导致前台js不能够读取到该cookie。所以需要


扫描二维码关注公众号,回复: 1474032 查看本文章

在后台设置该cookie的httponly为false;

3、ajax真好用

4、网上流传的设置cookie的expires中有关于Date对象的用法,我复制过来以后,


出现。.toUTCString()不是函数的问题。

后来更改后没有了问题。附代码:

/******************这是我写的*****************************/

    function checkcookie() {

        if (document.cookie.length > 0) {

            var posstart = document.cookie.indexOf


("ASP.NET_SessionId=");

            if (posstart != -1) {

                posstart = posstart - 0 + "ASP.NET_SessionId=".length 


;

                var posend = document.cookie.indexOf(";",posstart);

                if (posend == -1)

                    posend = document.cookie.length;

                var str = document.cookie.substring(posstart,posend);

                var d = new Date();

                d = d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 


1000));

                var date = new Date(d);

                document.cookie = "ASP.NET_SessionId=" + str + "; 


expires=" + date.toUTCString() + "; path=/";

            }

        }

    }

/**********************下面是网上搜到的****************************/

<html>
   <head>
     <script language= "javascript" >
       function Window_Load(){
        setCookie( "name" , "111" );  //临cookie
        setCookie( "age" , "222" ,24 * 7);   //保存7
        setCookie( "address" , "333" ,24, "/" );  //保存1,path根目录
        
        //设定cookie安全(secure=true),能HTTPS或与其安全协议
        //连接起候才传输
        setCookie( "phone" , "444" ,24, "/" , "." , false );
        alert(document.cookie);
        alert(getCookie( "age" ));
        
        //删除名称"age"cookie
        removeCookie( "age"
        alert(document.cookie);
        //删除名称"address"cookie,设置设定path,所删除
        //需要传入应path
        removeCookie( "address" , "/"
        alert(document.cookie);  
       }
       
       function setCookie(name,value,hours,path,domain,secure){
           var  cdata = name +  "="  + value;
           if (hours){
               var  d =  new  Date();
               d.setHours(d.getHours() + hours);
               cdata +=  "; expires="  + d.toGMTString();
           }
           cdata +=path ? ( "; path="  + path) :  ""  ;
           cdata +=domain ? ( "; domain="  + domain) :  ""  ;
           cdata +=secure ? ( "; secure="  + secure) :  ""  ;
           document.cookie = cdata;
       }
       
       function getCookie(name){
           var  reg = eval( "/(?:^|;\\s*)"  + name +  "=([^=]+)(?:;|$)/" ); 
           return  reg.test(document.cookie) ? RegExp.$1 :  "" ;
       }
       
       function removeCookie(name,path,domain){
           this .setCookie(name, "" ,-1,path,domain);
       }
        
     </script>
   </head>
   <body onload= "Window_Load();" >
   
   </body>
</html>


猜你喜欢

转载自my.oschina.net/u/2551141/blog/670916