我在ASPX表单上有一个文件上传控件,该控件允许多个文件上传...
<asp:FileUpload runat="server" ID="AnalyseMultipleFiles" AllowMultiple="true" />
现在的问题是,当我单击它时,我必须显示另一种形式,要求用户输入密码和一些注释。仅当它们以那个格式进行时,才可以处理上传的文件。如何将上传的文件保留到流程的第二步?
到目前为止,我尝试将其存储在Session对象中。
protected void uploadFiles_Click(object sender, EventArgs e)
{
if (IsValid)
{
Session["UploadedFiles"] = Request.Files;
// set up the confirmation form,
// etc.
}
}
然后使用主要的确认方法...
protected void btnConfirmOK_Click(object sender, EventArgs e)
{
if (IsValid && Session["UploadedFiles"] != null)
{
fileCollection = (HttpFileCollection)Session["UploadedFiles"];
var files = Enumerable.Range(0, fileCollection.Count).Select(j => fileCollection[j]).ToList();
// process the files, etc.
但是我担心用户可能会在浏览器中打开两个标签并同时执行两个单独的上传-不幸的是,这是有可能的。然后,会话对象将在两组不同的文件之间变得混乱。
是否有更好的方法将上传的文件从一页传递到下一页?