Asp.net 如何在VB.NET中从会话中存储和检索asp:fileupload

Asp.net 如何在VB.NET中从会话中存储和检索asp:fileupload,asp.net,vb.net,Asp.net,Vb.net,我的程序有一个asp:FileUpload控件,用户可以使用该控件选择文件。页面上有一个按钮,用户可以单击该按钮进行一些数据操作。单击该按钮时,asp:fileUpload控件将释放用户选择的文件 我已经找到了显然适用于C程序的代码,但当我在VB.NET中编写代码时,我尝试了转换这些代码 这是我在转换器中使用的C代码: if (Session["FileUpload1"] == null && FileUpload1.HasFile) { Sess

我的程序有一个asp:FileUpload控件,用户可以使用该控件选择文件。页面上有一个按钮,用户可以单击该按钮进行一些数据操作。单击该按钮时,asp:fileUpload控件将释放用户选择的文件

我已经找到了显然适用于C程序的代码,但当我在VB.NET中编写代码时,我尝试了转换这些代码

这是我在转换器中使用的C代码:

    if (Session["FileUpload1"] == null && FileUpload1.HasFile)
    {
        Session["FileUpload1"] = FileUpload1;
        lblFilename.Visible = true;
        lblFilename.Text = FileUpload1.FileName;
    }
    else if (Session["FileUpload1"] != null && (!FileUpload1.HasFile))
    {
        FileUpload1 = (FileUpload)Session["FileUpload1"];
        lblFilename.Visible = true;
        lblFilename.Text = FileUpload1.FileName;
    }
    else if (FileUpload1.HasFile)
    {
        Session["FileUpload1"] = FileUpload1;
        lblFilename.Visible = true;
        lblFilename.Text = FileUpload1.FileName;
    }
这是转换器给我的VB结果:

    If Session("FileUpload1") Is Nothing AndAlso FileUpload1.HasFile Then
        Session("FileUpload1") = FileUpload1
        lblFilename.Visible = True
        lblFilename.Text = FileUpload1.FileName
    ElseIf Session("FileUpload1") IsNot Nothing AndAlso (Not FileUpload1.HasFile) Then
        FileUpload1 = CType(Session("FileUpload1"), FileUpload)
        lblFilename.Visible = True
        lblFilename.Text = FileUpload1.FileName
    ElseIf FileUpload1.HasFile Then
        Session("FileUpload1") = FileUpload1
        lblFilename.Visible = True
        lblFilename.Text = FileUpload1.FileName
    End If
我将其更改为以下内容,以便在我的程序中使用:

    If Session("fileuPreCalImage") Is Nothing AndAlso fileuPreCalImage.HasFile Then
        Session.Add("fileuPreCalImage", fileuPreCalImage)
    ElseIf Session("fileuPreCalImage") IsNot Nothing AndAlso (Not fileuPreCalImage.HasFile) Then
        fileuPreCalImage = CType(Session("fileuPreCalImage"), FileUpload)
    ElseIf fileuPreCalImage.HasFile Then
        Session("fileuPreCalImage") = fileuPreCalImage
    End If
由于代码第4行中的一个错误,代码无法编译,该错误表示:“FileUpload”类型的值无法转换为“FileUpload”

在VB.NET中,有没有一种方法可以在单击按钮后维护FileUpload文件

编辑:我从这个答案中提取了C代码--

fileuPreCalImage = CType(Session("fileuPreCalImage"), FileUpload)
由--

fileuPreCalImage =  DirectCast(Session("fileuPreCalImage"), System.Web.UI.WebControls.FileUpload)

那个替代品能做什么?新问题?解释你的答案。