Session紧急问题: 很着急很简单的问题,帮帮我这个菜鸟

tianyaboy 2004-11-30 02:43:34

登陆成功后 Session["ReaderName"] = textbox1.text;


在我没有关闭浏览器的情况下,我重新打开一个同样的叶面.


if(Session["ReaderName"]!= null)
{
Label2.Text = "欢迎您 " + Session["ReaderName"].ToString();

}



居然没有用?? 根本没有我想要的效果显示 "欢迎您 XXX "
...全文
227 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
hunter_32 2004-12-01
  • 打赏
  • 举报
回复
if(Session["ReaderName"]!= "")
{
Label2.Text = "欢迎您 " + Session["ReaderName"].ToString();
}
//你要用Session["ReaderName"]!= "" 而不能用Session["ReaderName"]!= null 切記!
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复


但是我用的不是 session


HttpCookie cookie = Request.Cookies["ReaderName"];

if(cookie==null)
{
Label2.Text = "欢迎您 游客";
}
else
{
Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
}




我如上,用的是cookie啊
lobu 2004-11-30
  • 打赏
  • 举报
回复
你打开的多个浏览器在本地都会有各自不同的一个key,在请求服务器的时候,就会以这个key来取得各自的session
lobu 2004-11-30
  • 打赏
  • 举报
回复
你打开多个浏览器,就会有多个会话。但要是在你打开的浏览器中新打开一个窗口的话情况不一样,他们是维持一个session.
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复
而且我第一个登陆页面还没有关闭,cookie应该还在
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复

HttpCookie cookie = Request.Cookies["ReaderName"];

if(cookie==null)
{
Label2.Text = "欢迎您 游客";
}
else
{
Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
}



没道理啊,我同样的代码,当前登陆页面可以显示 欢迎您 XXX

只不过重新打开一个页面,在Page_Load里再次调用就无法显示??
showjun 2004-11-30
  • 打赏
  • 举报
回复
首页!
string str_User="欢迎您 XXX "
Session.Add("UserName",str_User);
Response.Redirect("index.aspx");

index.aspx页面
LabelComUsr.Text = "[" + Session["UserName"].ToString() + "]";

这些都写到CS文件当中
ianok 2004-11-30
  • 打赏
  • 举报
回复
晕!
lazyfish 2004-11-30
  • 打赏
  • 举报
回复
调用的时候:
protected String GetStyle(String key) {
HttpCookie cookie = Request.Cookies["preferences1"];
if (cookie != null) {
switch (key)
{
case "ForeColor" : return cookie.Values["ForeColor"]; break;
...
}
}
return "";
}


Protected Function GetStyle(key As String) As String
Dim cookie As HttpCookie = Request.Cookies("preferences1")
If cookie <> Null Then
Select Case key
Case "ForeColor"
Return(cookie.Values("ForeColor"))
Case ...
End Select
End If
Return("")
End Function


protected function GetStyle(key:String) : String {
var cookie:HttpCookie = Request.Cookies("preferences1");
if (cookie != null) {
switch (key)
{
case "ForeColor" : return cookie.Values("ForeColor"); break;
...
}
}
return "";
}

lazyfish 2004-11-30
  • 打赏
  • 举报
回复
是不是你的cookie没有发送到客户端阿?
if (Request.Cookies["ReaderName"] == null) {
HttpCookie cookie = new HttpCookie("ReaderName");
cookie.Values.Add("ForeColor", "black");
...
Response.AppendCookie(cookie);
}
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复
up
justdoit006 2004-11-30
  • 打赏
  • 举报
回复
不好意思,不能用cache。用cache的话所有用户共享,不是你想要得了
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复

好比就是此cookie只能够在基于那一个页面中读取

打开新的页面就不可以了
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复

右边键盘 = 右键
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复
我换成cookie 之后发现


第一个页面登陆成功后 我如果右边键盘打开新页面,可以显示欢迎您XXX

但是我如果新打开一个主页面的话就不可以显示了
justdoit006 2004-11-30
  • 打赏
  • 举报
回复
用cache
TangJL820 2004-11-30
  • 打赏
  • 举报
回复
老兄,我在用php的时候碰到过同样问题,只是想实现 欢迎xxx 的简单功能
php的session通过cookie保存session id,所以下次只要判断cookie里是否存在session id就可以了,而且不会变。
你可以借鉴一下,我为了生活也在学asp.net,感觉和asp差别还是满大的
唉,没好好学习vb,现在觉得好吃亏。
tianyaboy 2004-11-30
  • 打赏
  • 举报
回复

登陆成功后

Response.Cookies["ReaderName"].Value = textbox1.text;


在我没有关闭浏览器的情况下,我重新打开一个同样的叶面.


HttpCookie cookie = Request.Cookies["ReaderName"];

if(cookie==null)
{
Label2.Text = "欢迎您 游客";
}
else
{
Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
}


还是没有用?? 根本没有我想要的效果显示 "欢迎您 XXX "
2002pine 2004-11-30
  • 打赏
  • 举报
回复
同意 justdoit006(我的心太乱) ( )
要实现你的功能,只有把信息放入cookie中了
justdoit006 2004-11-30
  • 打赏
  • 举报
回复
重新打开一个同样的叶面,seesionid已经改变,也就相当于另一个用户所以,无法访问另一个用户的值

62,072

社区成员

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

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

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

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