如何在asp.net中将会话值从第2页传递到第1页?

如何在asp.net中将会话值从第2页传递到第1页?,asp.net,session,file-upload,listbox,Asp.net,Session,File Upload,Listbox,我在第1页上有一个列表框和按钮,当我单击按钮时,第2页将在一个新选项卡中打开。在第2页中,我将照片上传到一个文件夹,并设置会话[“FileName”]值。我想当我关闭第2页时,上传图像的名称显示在列表框中 注意:会话[“文件名”]=上载图像的名称 有人有主意吗?请帮帮我 多谢各位 我的上传类: public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count > 0)

我在第1页上有一个列表框和按钮,当我单击按钮时,第2页将在一个新选项卡中打开。在第2页中,我将照片上传到一个文件夹,并设置会话[“FileName”]值。我想当我关闭第2页时,上传图像的名称显示在列表框中

注意:会话[“文件名”]=上载图像的名称

有人有主意吗?请帮帮我

多谢各位

我的上传类:

public void ProcessRequest(HttpContext context)
{      
    if (context.Request.Files.Count > 0)
    {
        // get the applications path 

        string uploadPath = context.Server.MapPath(context.Request.ApplicationPath + "/Temp");
        for (int j = 0; j <= context.Request.Files.Count - 1; j++)
        {
            // loop through all the uploaded files 
            // get the current file 
            HttpPostedFile uploadFile = context.Request.Files[j];

            // if there was a file uploded 
            if (uploadFile.ContentLength > 0)
            {
                context.Session["FileName"] = context.Session["FileName"].ToString() + uploadFile.FileName+",";
                uploadFile.SaveAs(Path.Combine(uploadPath, uploadFile.FileName));
            }
        }
    }
    // Used as a fix for a bug in mac flash player that makes the 
    // onComplete event not fire 
    HttpContext.Current.Response.Write(" ");
}
public void ProcessRequest(HttpContext上下文)
{      
如果(context.Request.Files.Count>0)
{
//获取应用程序路径
字符串uploadPath=context.Server.MapPath(context.Request.ApplicationPath+“/Temp”);
对于(int j=0;j 0)
{
context.Session[“FileName”]=context.Session[“FileName”].ToString()+uploadFile.FileName+;
SaveAs(Path.Combine(uploadPath,uploadFile.FileName));
}
}
}
//用于修复mac flash player中的错误,该错误使
//未完成事件未触发
HttpContext.Current.Response.Write(“”);
}

会话是ASP.NET中的服务器对象。这意味着,当您在一个页面上创建会话时,您可以在任何其他页面上使用它,只要会话对象未被删除或过期

假设您在page1.aspx.cs上执行了此操作

Session["FileName"] = "file1";
然后您可以在page2.aspx.cs上访问它,如下所示:

if(Session["FileName"]!=null)
    Label1.Text = (string)Session["FileName"]
因此,您只能在.aspx页或控件派生类上访问会话变量

如果要访问类库项目中的会话变量,请执行以下操作:

HttpContext.Current.Session["FileName"]
另外,看起来您已经创建了一个自定义的
HttpModule

请注意,HTTPModule不能处理初始化会话状态之前发生的任何管道事件


要了解更多关于如何以及何时访问HttpModule中的会话变量的信息,请在关闭page2后,或不要打开第二页,然后从一页开始执行所有操作。如果可能,我希望可以通过Javascript完成。我不认为这是asp.net特有的问题。也许这会给你指明正确的方向谢谢Twentygotton。那真是帮了大忙。那就请大家踊跃投票吧;)亲爱的曼尼什·米什拉。谢谢你的帮助,但我有两页。第2页将在新选项卡中打开,在第2页中,我将上载照片,当我关闭第2页时,我希望会话值显示在第1页的列表框中。请帮助。@MortezaKarimi在这种情况下,您必须刷新页面1。只有这样,它才会知道创建的新会话变量。打开弹出窗口或模型对话框,而不是打开新选项卡。那样会容易得多