Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FileUpload返回空值_C#_Asp.net - Fatal编程技术网

C# FileUpload返回空值

C# FileUpload返回空值,c#,asp.net,C#,Asp.net,我的web应用程序中有一个文件上传,但当单击“提交”时,似乎会丢失文件或其他内容,但不会丢失名称。因此,例如,如果我有C:\me\Documents\myfile.jpg,我可以捕获名称myfile.jpg,但在计算这一行时,会显示“找不到文件”(在调试模式下,当我悬停在这一行上时) 这是在我的提交按钮 if ((myID == 0 || rbUploadImg.Checked == true) && fuImage.PostedFile.FileName.Length >

我的web应用程序中有一个文件上传,但当单击“提交”时,似乎会丢失文件或其他内容,但不会丢失名称。因此,例如,如果我有C:\me\Documents\myfile.jpg,我可以捕获名称myfile.jpg,但在计算这一行时,会显示“找不到文件”(在调试模式下,当我悬停在这一行上时)

这是在我的提交按钮

 if ((myID == 0 || rbUploadImg.Checked == true) && fuImage.PostedFile.FileName.Length > 0)
以下是aspx的代码以及.cs中的复选框,它们决定是否显示上传程序

     <asp:Panel ID="pnlImageEdit" runat="server" Visible="false">
         <table id="tblShowImage" border="0" cellpadding="0" cellspacing="20" runat="server">
         <tr>
            <td>
             <asp:Image ID="Image1" runat="server" />
             </td>
             <td>
                 <div class="mytyle">
                    <asp:RadioButton ID="rbCurrentImage" Text="Keep Current Image" runat="server" GroupName="Product Image" AutoPostBack="True" OnCheckedChanged="rbCurrentImage_CheckedChanged" Checked="True" />

<asp:RadioButton ID="rbUploadImg" Text="Upload New Image" runat="server" GroupName="Image" AutoPostBack="True" OnCheckedChanged="rbImage_CheckedChanged" />
                                </div>
                      </table>
                </asp:Panel>
  <asp:Panel ID="pnlImageAdd" runat="server" Visible="false">
                    <div>                        
  Select an Image :<asp:FileUpload ID="fuImage" runat="server" EnableViewState="true" />

<asp:RegularExpressionValidator 
ID="RegularExpressionValidator1" 
runat="server" 
ControlToValidate="fuCollectionImage"
CssClass="Error" Display="dynamic" ValidationExpression=".*(\.[Jj][Pp][Gg]|\.[Gg][Ii][Ff]|\.[Jj][Pp][Ee][Gg]|\.[Pp][Nn][Gg])"
 ErrorMessage="Please select a valid JPEG, JPG, PNG or GIF image">
</asp:RegularExpressionValidator>
                    </div>
                </asp:Panel>

谢谢您的帮助

我可能错了,但我认为您需要使用
FileUpload.SaveAs
方法才能访问它。当您按下提交按钮时,文件上载将清除文件。单击“提交”按钮后,应将文件放入临时目录以访问它


当您使用UpdatePanel时也会发生这种情况。UpdatePanel刷新,FileUpload会丢失发布的文件。

我可能错了,但我认为您需要使用
FileUpload.SaveAs
方法才能访问它。当您按下提交按钮时,文件上载将清除文件。单击“提交”按钮后,应将文件放入临时目录以访问它


当您使用UpdatePanel时也会发生这种情况。UpdatePanel将刷新,而FileUpload将丢失已发布的文件。

只要您有其他控件对页面进行回发,则此操作将不起作用。FileUpload控件最初使用类型为file的输入HTML标记。当页面发回时,服务器控件无法在输入控件中设置文件路径值。由于安全限制,无法执行此操作


我建议您使用Javascript(客户端)显示/隐藏面板。

只要您有其他控件对页面进行回发,这将不起作用。FileUpload控件最初使用类型为file的输入HTML标记。当页面发回时,服务器控件无法在输入控件中设置文件路径值。由于安全限制,无法执行此操作


我建议您使用Javascript(客户端)显示/隐藏面板。

您有包含上述所有标记的UpdatePanel吗?有两种情况:添加UpdatePanel时返回null,删除UpdatePanel时返回null。。“找不到文件”所以我不确定我遗漏了什么您是否有包含上述所有标记的UpdatePanel?有两种情况:当我添加UpdatePanel时,它返回null,当我删除它时。。“找不到文件”,所以我不确定我丢失了什么
protected void rbNewImage_CheckedChanged(object sender, EventArgs e)
{
    pnlImageAdd.Visible = true;
}

protected void rbImage_CheckedChanged(object sender, EventArgs e)
{

}