使用会话对象时,对象引用未设置为对象的实例
本文关键字:对象 设置 实例 会话 对象引用 | 更新日期: 2023-09-27 18:25:19
这里面出了什么问题?
strFname = this.Session["FileName"].ToString();
而我把它定义为
Session["FileName"] = strFname;
它的给定对象引用错误。
会话可以是瞬态的。它很可能会消失,或者你可能处于一个从未为该键分配过任何内容的新会话中。假设最坏的情况——事实上,你所需要的只是:
strFname = (string)Session["FileName"];
if(strFname != null) {
// ...
}
只要不关闭窗口,就有一些方法可以使会话永远保持活力。在您希望保持会话有效的页面中,将其添加到底部的.aspx页面中,就在之前
<!-- Keep all session variables alive -->
<iframe id="Defib" src="Defibrillator.aspx" runat="server" frameborder="0" height="0" width="0"></iframe>
现在你必须制作一个新页面。这不是我的主意,但我忘了作者的名字。
除颤器.aspx
<body></body>
除颤器.aspx。cs
protected void Page_Load(object sender, EventArgs e)
{
Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 10));
}