asp.net前后台互动访问有关问题
asp.net前后台互动访问问题
假如我现在有个a.aspx页面
cs下面写着如下:
上面不能看出vip是读取的登陆信息,前台如下:
当session为null的时候应该提醒登陆,可每次都是报:未将对象引用设置到对象的实例。
有如下两个问题求解:
1。如果是说前台先执行的,那为何session有值的时候前台先执行还能读到?
2。如果是后台的load先执行的,那么为什么session为null的时候不报未登陆,而是报的前台vip为null的错?
3。除了用label代替前台的%之外,有没有一个两全其美之道?可以让session为null的时候报未登陆,而不是报前台的错
------解决方案--------------------
哎,asp.net前后台混搭的搞法,搞坏了多少人的脑子哦。。。。。。。
------解决方案--------------------
对啊,如果为null的话,前台是读取不到值的,当然报错啦。
你需要首先处理一下
假如我现在有个a.aspx页面
cs下面写着如下:
- C# code
public Web.Mod.VIP vip; protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null) { PageBase.alert(Page, "登陆超时,请重新登陆", "/VIP/Login.aspx"); return; } vip= (Web.Mod.VIP)Session["user"]; }
上面不能看出vip是读取的登陆信息,前台如下:
- C# code
<span class="kafeiseleft">欢迎您,<span class="red"><%=vip.Name %></span>, 这是您第 <span class="red2"><%=vip.Count+1 %></span> 次登陆, 您上次登陆时间为: <%=vip.EndTime %>
当session为null的时候应该提醒登陆,可每次都是报:未将对象引用设置到对象的实例。
有如下两个问题求解:
1。如果是说前台先执行的,那为何session有值的时候前台先执行还能读到?
2。如果是后台的load先执行的,那么为什么session为null的时候不报未登陆,而是报的前台vip为null的错?
3。除了用label代替前台的%之外,有没有一个两全其美之道?可以让session为null的时候报未登陆,而不是报前台的错
------解决方案--------------------
哎,asp.net前后台混搭的搞法,搞坏了多少人的脑子哦。。。。。。。
------解决方案--------------------
对啊,如果为null的话,前台是读取不到值的,当然报错啦。
你需要首先处理一下
- C# code
public Web.Mod.VIP vip; protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null) { PageBase.alert(Page, "登陆超时,请重新登陆", "/VIP/Login.aspx"); //给VIP 初始化一个值 vip.Name="游客"; vip.Count = 1; vip.EndTime = System.DateTime.Now.ToString("yyyy-MM-dd"); } vip= (Web.Mod.VIP)Session["user"]; }
------解决方案--------------------
- C# code
private Web.Mod.VIP vip; public Web.Mod.VIP VipInfo { set { vip = value; } get { return vip; } } protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null) { PageBase.alert(Page, "登陆超时,请重新登陆", "/VIP/Login.aspx"); return; } VipInfo= (Web.Mod.VIP)Session["user"]; }
------解决方案--------------------