您的位置:首页 > 编程语言 > ASP

html中读取asp.net向Cookie中写入的中文内容

2008-01-02 22:19 651 查看
这几天研究一个B/S架构的系统,在页面间进行参数传递时需要读写Cookie,碰到问题:

需在登录界面记录登录者的信息(用户名称)在cookie里,由其它页面读取,登录界面是.aspx文件,系统框架中有一个.html页面,是用javascript写的树形菜单,在树形菜单里要显示用户名称信息,

1、javascript可以读取的函数有:

1.1、function readCookie(name){
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length,c.length));
}
return null;
}

1.2、function readCookie(name){
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length,c.length));
}
return null;
}

2、在aspx文件中写cookie的代码:

在把中文值写入cookie之前需先编码,

Response.Cookies["user_name"].Value =System.Web.HttpUtility.UrlEncode( uname);

3、在javascript中需用函数1.2才能正确读出,否则中文始终显示为乱码。(研究了两天,请教了N多高手,调试了N+1种方法才得出来的不正确结果哦 :-))

4、在.aspx文件中读取cookie的代码:

Label1.Text = System.Web.HttpUtility.UrlDecode(Request.Cookies["user_name"].Value);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: