当前位置:编程学习 > C#/ASP.NET >>

页面刷新 <%=data()%> 无法正常显示



这是登录前页面
登陆后页面
当点击退出时 却变成
正常显示应该跟图一一样。
用的方法
  <%=GetInfo() %>   <%--这里显示的是账号登录模块--%>
                <td id="tjsc"  onclick="addfavorite()">添加收藏</td>
                <td id="swzy"  onclick="setHomepage()">设为主页</td>

在自己机子运行代码和发布后访问,都能正常显示,而发布到服务器上访问却出现上面的问题,账户登录区没有显示。
退出用的方法为ajax session注销后,再在前台重新定位该页面window.location.href="index.aspx";,而且再window.location.reload();也仍然不正常,只有去手动F5时,页面才正常显示。
求解释。 --------------------编程问答-------------------- 缓存????
--------------------编程问答--------------------
引用 1 楼 hdt 的回复:
缓存????
不像  我清理过浏览器缓存  而且其他电脑也出现一样的问题。
--------------------编程问答-------------------- 在getdata() 加断点,退出登录后 看执行不,执行的对不?
还有在前台看getdata具体输出是什么?

--------------------编程问答-------------------- 跟一下Javascript看看吧 --------------------编程问答-------------------- 你只是用ajax清除session,但是GetInfo(()是后台方法,你用JavaScript重刷页面的时候,并没有重新调用GetInfo(()去,虽然不知道你这个方法是干什么的。。。。

其实这种时候就应该刷页面了,而不是一味追求ajax --------------------编程问答--------------------
引用 3 楼 hdt 的回复:
在getdata() 加断点,退出登录后 看执行不,执行的对不?
还有在前台看getdata具体输出是什么?


引用 4 楼 jadier 的回复:
跟一下Javascript看看吧

在自己电脑运行代码  和发布代码都能正常显示。 --------------------编程问答-------------------- 我知道,那你发布到服务器上,然后在自己电脑打开跟一下JS看看执行正常不 --------------------编程问答-------------------- 直接redirect吧,用了ajax还window.location.href="index.aspx";??
要么直接用ajax操作那个表格添加要登陆的内容 --------------------编程问答-------------------- 这里应该是cookie注销时引起的问题,

 /// <summary>
        /// 删除cookie
        /// </summary>
        /// <param name="name">要删除的键</param>
        public static void DeleteCookie(string name)
        {
            SetCookie(name, null, -1);
        }
 /// <summary>
        /// 设置Cookie
        /// </summary>
        /// <param name="name">键</param>
        /// <param name="value">值</param>
        /// <param name="minutes">有效期,0代表关闭浏览器就消失,大于0代表有效分钟,小于0代表删除cookie,null代表永久不失效</param>
        public static void SetCookie(string name, string value, int? minutes)
        {
            try
            {
                HttpCookie cookie = new HttpCookie(name);
                if (minutes == null)
                    cookie.Expires = DateTime.MaxValue;
                else if (minutes < 0)
                    cookie.Expires = DateTime.Now.AddMinutes(-1);
                else if (minutes > 0)
                    cookie.Expires = DateTime.Now.AddMinutes((int)minutes);
                else if (minutes == 0)
                    cookie.Expires = DateTime.Now;
                cookie.Value = value;
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
            }
            catch(Exception)
            {
                throw;
            }
        }

这里对cookie进行注销后,再判断是否存在cookie时,发现cookie!=null 且cookie.value=""  

        /// <summary>
        /// 根据键获取coolie值,不存在返回null
        /// </summary>
        /// <param name="name">键</param>
        /// <returns>根据键获取coolie值,不存在返回null</returns>
        public static string GetCookie(string name)
        {
            HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[name];
            if (cookie != null)
            {
                    return cookie.Value.ToString();
            }
            return null;
            
        }


求解 --------------------编程问答--------------------
<%# Method() %>
--------------------编程问答--------------------
引用 1 楼 hdt 的回复:
缓存????


引用 7 楼 jadier 的回复:
我知道,那你发布到服务器上,然后在自己电脑打开跟一下JS看看执行正常不


引用 5 楼 TheDolphin 的回复:
你只是用ajax清除session,但是GetInfo(()是后台方法,你用JavaScript重刷页面的时候,并没有重新调用GetInfo(()去,虽然不知道你这个方法是干什么的。。。。

其实这种时候就应该刷页面了,而不是一味追求ajax

帮我看看9楼的cookie处理哪里有误
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,