Cookie读写出问题了,请教高手!

orochiheart 2012-04-25 01:46:53
webForm1中,我设定了Cookie 如下

string s1 ="select * from 表1 where UID='张三'";
HttpContext.Current.Response.Cookies["QueryStr"].Value = HttpUtility.UrlEncode(queryStr);


webFrom2中,我要取这个值,但是却取不到Value值却是null,代码如下

string s2 = HttpUtility.UrlDecode(HttpContext.Current.Response.Cookies["QueryStr"].Value);//Value为null


PS:webFrom2中用到了ajax控件,应该和这个没关系吧。。。

再说句题外话,我要实现的是webForm1让用户进行条件选择,点击界面上的按钮后转到webForm2中,WebForm2中是一个GridView(放在了ajax控件内),因为Session会有失效时间,所以采用了Seesion和Cookie双重来保存传过去的sql语句,初学asp.net 也暂时想到这个方法,如果有更好的方法,请高手指点!
...全文
173 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
感谢各位回复!
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
顶上去 高手们再给点建议吧!
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
前面的问题已经解决,我现在封装了两个方法,高手帮忙看看这样写有没有问题,关键是我对asp.net的机制不清楚,怕出现多用户访问时Seesion或Cookie会乱套的问题

搞了两个方法如下,全是静态方法,放在了静态类中

public static class SessionCommon
{
public static bool GetSession(string name)
{
if (HttpContext.Current.Session[name] == null)
{
if (HttpContext.Current.Response.Cookies[name] == null)
{
return false;
}
else
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[name];
HttpContext.Current.Session[name] = HttpUtility.UrlDecode(cookie.Value);
}
return true;
}
return true;
}

public static void SetSessionAndCookie(string name,string value)
{
HttpContext.Current.Session[name] = value;
HttpContext.Current.Response.Cookies[name].Value = HttpUtility.UrlEncode(value);
}
}
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
说实话 楼主的传SQL 对网站安全性影响很大 而且你保存在Cookie里 又没有加密

建议不要传SQL 传参就行了
[/Quote]
好的 谢谢你的建议!
psdzj 2012-04-25
  • 打赏
  • 举报
回复
说实话 楼主的传SQL 对网站安全性影响很大 而且你保存在Cookie里 又没有加密

建议不要传SQL 传参就行了
psdzj 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
web.config里面要写上支持cookie。
[/Quote]

哥们 我这是第一次听到你这么说


/////////////////保存/////////////////
HttpCookie cook = new HttpCookie("Shoping");
cook.Expires = DateTime.Now.AddDays(30);
//赋值
cook.Value = "";
//保存
HttpContext.Current.Response.Cookies.Add(cook);

/////////////////获取/////////////////
HttpCookie cook = (HttpCookie)HttpContext.Current.Request.Cookies["Shoping"];
cook.Expires = DateTime.Now.AddDays(30);
//获取到该Cookies的值
string Shop = cook.Value.ToString();



SeanDing1989 2012-04-25
  • 打赏
  • 举报
回复
你的cookie没写进去。

HttpCookie cookies = new HttpCookie("test");
cookies.Values["val"] = "110"
cookies.Expires = DateTime.Now.AddMinutes(5);
HttpContext.Current.Response.Cookies.Add(cookies);
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
web.config里面要写上支持cookie。
[/Quote]
这个需要特意写上么 ?怎么写?
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
找到了能取到值的方法

HttpCookie cookie = Request.Cookies["QueryStr"];
string sssss = HttpUtility.UrlDecode(cookie.Value);
铜臂阿铁木 2012-04-25
  • 打赏
  • 举报
回复
web.config里面要写上支持cookie。
yyl8781697 2012-04-25
  • 打赏
  • 举报
回复

HttpCookie cookie = Request.Cookies["str"];
if (cookie == null)
{
cookie = new HttpCookie("str");
cookie.Expires = DateTime.Now.AddDays(1);
cookie.Values.Add("val", "i am cookie");
Response.Cookies.Add(cookie);
Response.Write("cookie已经添加成功");
}
else {
Response.Write("cookie中读取的值为:");
Response.Write(cookie.Values["val"]);
}

asp.net中对cookie的操作是这样的,按这个来不会错的,我刚刚测试了
orochiheart 2012-04-25
  • 打赏
  • 举报
回复
晕 第一个行代码写错了 如下

string s1 ="select * from 表1 where UID='张三'";
HttpContext.Current.Response.Cookies["QueryStr"].Value = HttpUtility.UrlEncode(s1);

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧