【发布时间】:2012-02-22 09:37:16
【问题描述】:
这有什么问题?
strFname = this.Session["FileName"].ToString();
虽然我把它定义为
Session["FileName"] = strFname;
它给出的对象引用错误。
【问题讨论】:
这有什么问题?
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>
现在您必须创建一个新页面。叫它 Defibrillator.aspx 这不是我的主意,但我忘记了作者的名字。
除颤器.aspx
<body></body>
除颤器.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 10));
}
【讨论】: