Session问题·····!!!!!!!!!!!!!

onlyloveher 2008-02-01 02:08:16
在global.asax里的
protected void session_start(object sender, eventargs e)
{
session["name"] = null;
}

然后在某个页面调用
if (Session["names"].ToString() == null)
{
Label1.Text = "用户SESSION为空!";

}
else if (Session["names"].ToString() == UserNameTxt.Text)
{
Response.Write("<script language=javascript>alert('该用在线无法再次登陆!');</script>");
}
else
{
Session["names"] = UserNameTxt.Text;
CheckUser();
}

我想对用户登陆做限制··以个用户不能同时在线·
这里这样用的时候总是说“未将对象引用设置到对象的实例”

网上说要在之前判断session是否为null
那我就假设我的系统现在没人登陆
我要判断的话··它就永远为null就没法往下走了
所以我想在在global.asax里

session["name"] = aaaaa;
但是运行说“当前上下文中不存在aaaaa”


----------------
昏了···未解决···确实有点昏了··高手们···帮忙啊··
...全文
148 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
最后再顺便问问··这么给回答贴子的人分啊???
lzcheavy 2008-02-01
  • 打赏
  • 举报
回复
session.abandon()是把当前session里的对象删除了
例:session["a"] = null;
执行上面这个方法后 session["a"]这个对象就销毁了

clear()只是将session里保存的值删除了
例:session["a"] = "123";
执行后 session["a"] = null 但是session["a"]这个对象还在 还可以继续往里面放值
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
session.abandon()
和session.clear()
有什么区别呢?
有人能解释吗?????
拜托拜托····
lzcheavy 2008-02-01
  • 打赏
  • 举报
回复
前台代码
<form id="form1" runat="server">
<asp:TextBox ID="TxtUserName" runat="server"></asp:TextBox><br />
<asp:Button ID="Btn_Comit" runat="server" Text="登陆" OnClick="Btn_Comit_Click" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="注销" />
</form>

后台代码
protected void Page_Load(object sender, EventArgs e)
{}

protected void Btn_Comit_Click(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
string username = TxtUserName.Text;
if (username.Trim().Equals("lzcheavy"))
{
Session["UserName"] = username;
Response.Write("success");
}

}
else
{
Response.Write("已登陆");
return;
}
}

protected void Button1_Click(object sender, EventArgs e)
{
if (Session["UserName"] != null)
{
Session["UserName"] = null;
}
}

Global文件代码
protected void Session_start(object sender, EventArgs e)
{
Session["UserName"] = null;
}
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
我Session["names"]="";

Session.Abandon();
都用了··还是没注销掉·
情况1
yy这个用户登陆成功后 我另外打开个页面·在用YY登陆··还是成功后
情况2
YY这个用户登陆后 -注销 -再以YY登陆--这时候弹出我设置的“该用户已经在线·”的提示!
还在思考中··请指点····
kingj2018 2008-02-01
  • 打赏
  • 举报
回复
Session.Abandon();
就是删除所有的session
极地_雪狼 2008-02-01
  • 打赏
  • 举报
回复
一个用户不能同时在线,最好是APPLICATION 和SESSION一起使用。效果更好哦
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
Session.Abandon();
这个呢?
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
讨论啊···继续啊···
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
我在JS里写了个函数
function Dele_Session()
{
Session["names"]="";
}
用来做注销·让用户注销时 Session["names"]="";

这样能注销掉吗?
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
问题·
我这样做了后··程序能运行了··我发布网站在本机后·我用一个用户登陆两次·---成功登陆··说明这段代码没其作用啊··这么的呢?
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
问题·
我这样做了后··程序能运行了··我发布网站在本机后·我用一个用户登陆两次·---成功登陆··说明这段代码没其作用啊··这么的呢?
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
嗯··解决···谢谢各位热心的好人们呀··呵呵··
分数多少不重要··
那么先祝大家新年快乐了···感谢····
fuenpy4 2008-02-01
  • 打赏
  • 举报
回复
Session["names"].ToString() == null
除了Session["names"]==null
外。还可以Session["names"].ToString()==""试试
sai850620 2008-02-01
  • 打赏
  • 举报
回复
判断Session是否为空

if(Session["names"] == null)
{
....
}
而不是Session["names"].ToString()
一个为空的对象 你ToString()当然会报"未将对象引用设置到对象的实例"
onlyloveher 2008-02-01
  • 打赏
  • 举报
回复
嗯 发完就意识到这个了··马上改了来试试····3Q····
灰太狼 2008-02-01
  • 打赏
  • 举报
回复
Session["names"].ToString() == null
改为Session["names"] == null
因为如果Session["names"]为null的话,使用Session["names"].ToString()会报错
hongcha99 2008-02-01
  • 打赏
  • 举报
回复
session["name"] = "aaaaa";
ghosteryly 2008-02-01
  • 打赏
  • 举报
回复
session["name"] = null; 之后又Session["names"].ToString() 行吗??
而且Session["names"].ToString() 后有可以和NULL比较吗??一个是空,一个是字串。
无言
fred_928 2008-02-01
  • 打赏
  • 举报
回复
"aaaaa"这个是字符串,aaaaa什么都不是,是未定义

62,046

社区成员

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

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

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

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