【发布时间】:2015-02-10 15:22:35
【问题描述】:
我有这个代码,但与 4.0 不兼容,谢谢
.aspx
<div>
<asp:FileUpload runat="server" ID="UploadImages" Multiple="true" />
<asp:Button runat="server" ID="uploadedFile" Text="Upload" OnClick="uploadFile_Click" />
<asp:Label ID="listofuploadedfiles" runat="server" />
</div>
.cs
protected void uploadFile_Click(object sender, EventArgs e)
{
if (UploadImages.HasFiles)
{
foreach (HttpPostedFile uploadedFile in UploadImages.PostedFiles)
{
uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/Images/"),
uploadedFile.FileName)); listofuploadedfiles.Text += String.Format("{0}<br />", uploadedFile.FileName);
}
}
}
我有这个错误:
错误 1“System.Web.UI.WebControls.FileUpload”不包含“HasFiles”的定义,并且没有扩展方法“HasFiles”接受“System.Web.UI.WebControls.FileUpload”类型的第一个参数被发现(您是否缺少 using 指令或程序集引用?) 和
错误 2“System.Web.UI.WebControls.FileUpload”不包含“PostedFiles”的定义,并且没有接受“System.Web.UI.WebControls.FileUpload”类型的第一个参数的扩展方法“PostedFiles”可以被发现(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
此功能(用于服务器端 WebControls)是 4.5 的新功能。
-
它只适用于 4.5。多文件上传是 HTML 的全新功能。 .Net 4.0 无法发出处理它们所需的 HTML。在 4.5 中,上传控件能够发出 HTML 5 版本的文件上传,它允许多个文件流以及处理多个文件流。如果您无法升级到 4.5,则需要寻找可以在 4.0 中使用的第三方上传控件。