的用法

来源:互联网 发布:自己淘宝组装电脑 编辑:程序博客网 时间:2024/04/18 23:53
<%@ Page language="c#" Codebehind="GetUserBar.aspx.cs" AutoEventWireup="false" Inherits="Web.GetUserBar" %>
<%if(CheckIsLogin()){%>
您好:
<%=this.GetNickname()%>
<a href="<%=UrlRewriteLink.GetUserHomeUrl()%>">您的主页</a> | 
<a href='/user/user_setup.aspx'>个人设置</a> | 
<a href='/logout.aspx'>退出</a>
<%}
else{%>
<span style="margin-right:10px;">您已经登录了!</span><a href="/reg.aspx">注册</a> | <a href="/login.aspx">登录</a>
<%}
%>


一句话: 只要是候台代码的, 就用
<%%>来围住。

 

 

如上面这段代码,如果通过Ajax调用它,

这里存在着IE的页面缓存,   它会一直访问,C:/Documents and Settings/用户名/Local Settings/Temporary Internet Files 这个文件夹里面。所以每个Ajax调用的GetUserBar.aspx时候IE取到的都是缓存信息,而不是GetUserBar.aspx运行的结果。。

这里在Page_Load只需要加入: this.Response.Expires = 0;即可

顺便加入一些cookie的知识, 可以跨域。

  1. cookie.Path = "/";         
  2.         //设置可访问Cookie的路径 为项目下的cookie文件夹及其子文件夹下所有页面   
  3.         //如果需要整个应用程序可访问 则设置为cookie.Path = "/";即可     
  4.         cookie.Domain = ".163.com";            

写Cookie的时候,没有处理旧的同名Cookie,例如:第一次登录的时候写入 Cookie username=jsonlee 和 password=123456
有时候有可能会在未退出的情况下重新登录一下,这样就会再次写入同样的Cookie,但这样的情况,好像没有把原来的覆盖(我用 IECookies 这个工具看到的),而是新加入一个同名的。这样一来明显问题就存在了。
所以我在SetCookie的方法里面加入了

//删除旧的同名Cookie       
HttpContext.Current.Response.Cookies.Remove(cookieName);