2011-05-24 74 views
0

我保存fileupload控制在会话中。但是当我在另一个页面中检索(即知道它是否有文件)时,它显示错误为“对象实例未设置为对象”。哪里可以是过错?我使用的代码来获取fileupload控制检索文件上传控制问题

{ 
    Fileupload myupload=(Fileupload)Session["Fileupload1"]; 
    if(myupload.HasFile) 
    { 
      //some code 
    } 
} 
+0

永远不要把控制权交给会话。为什么你需要'保存'控制?它不是在你的网页上? – 2011-05-24 04:52:20

+0

是的,如果你需要从多个地方访问它的文件内容放在安全的地方。 – 2011-05-24 04:53:38

+0

你必须暂时将文件存储在某个地方! – V4Vendetta 2011-05-24 04:53:39

回答

0

没有看到实际的堆栈跟踪,它看起来像Session["Fileupload1"]为空。

3

那么这是行不通的。您无法将控件置于会话状态。您需要在收到帖子的页面上处理文件上传。然后,您需要将文件保存到临时目录或服务器上的某个目录中。

我会回到绘图板并尝试另一种方法。

0

我会说,如果你将fileUpload保存到会话中,这可能不是解决你给定问题的最好方法,而我们对此不太了解。

也就是说,你应该检查对象是否在会话中,然后将它作为某种东西丢失。

if (Session["MySessionVar"] != null) 
{ 
     <type> myVar = (<type>)Session["MySessionVar"]; 
} 
else 
{ 
     // set default/write warning to log/warn user 
}