在用户控件中如何使用Session

Vagabondize 2010-10-16 08:29:49
最近写了个登陆的用户控件.ascx文件利用Session保存登陆信息和判断是否显示登陆框
.ascx.cs中
Response.Write("<script language=javascript>alert('你已经成功登陆!');</script>");
Session["memberlogin"] = "OK"; //保存登陆信息到Session变量
Session["membername"] = pu;
Session["memberpass"] = pw;
Response.Redirect("index.aspx");
}
else
{
Response.Write("<script language=javascript>alert('非法登录!');</script>");
}

并且在.ascx文件中
<%

if (Session["memberlogin"]=="")
{

%>
<td>
用户名:<asp:TextBox runat="server" ID="TextBox_usertext" ></asp:TextBox>
密 码:<asp:TextBox runat="server" ID="TextBox_userpass" TextMode="Password"></asp:TextBox>
<asp:ImageButton ID="ImageButton1" runat="server" Height="20px"
ImageUrl="~/image/login.jpg" Width="60px" OnClick="ImageButton1_Click" />
<asp:ImageButton ID="ImageButton2"
runat="server" Height="20px" ImageUrl="~/image/exit.jpg" Width="60px" OnClick="ImageButton2_Click"/>
</td>
<%
}
else
{
%>

为什么出现错误提示说,当前上下文中缺少Session
麻烦高手帮忙解决下……在线等待
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vagabondize 2010-10-16
  • 打赏
  • 举报
回复
谢谢,是的,我删了,从新搞就好了,这是为什么呢?
_Will_ 2010-10-16
  • 打赏
  • 举报
回复
不会呀 。ascx页面也是可以用Session的啊 你把这个页面先删了 再从新加一次看看
Vagabondize 2010-10-16
  • 打赏
  • 举报
回复
改了也不行呀,问题是在.ascx中提示当前上下文中不存在Session,这个怎么搞呀?急……
Csdbfans 2010-10-16
  • 打赏
  • 举报
回复
怎么说呢,因为你页面每次都会执行
<%

if (Session["memberlogin"]=="")
{

%>
当你在后台的地方没有给Session["membgerlogin"]赋过值的时候,它本身默认的值是一个null,而你直接拿它去跟一个字符串来比较是不行的,你只能先确定好它不是null后再进行比较,试试
<%

if (Session["memberlogin"] == null)
{

%>
Vagabondize 2010-10-16
  • 打赏
  • 举报
回复
你这是在.ascx.cs中,但是在.ascx中一样还是无法识别Session
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
using System.Web.SessionState;
protected void Page_Load(object sender, EventArgs e)
{
if (session["userName"] = null)
{
}
}

62,272

社区成员

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

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

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

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