我在正确生成我的视图时遇到了一些问题。
我收到错误:模型不包含'GetEnumerator‘的公共定义
我试着将我的泛型列表变成一个IEnumerable列表,但是在我无法摆脱的代码中又弹出了几个错误,我不确定我是否必须以某种方式将它添加到我的UploadedFile类中?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Mvc_fileUploader.Models
{
public class UploadedFile
{
public string Name { get; set; }
public string Path { get; set; }
public long Size { get; set; }
}
}控制器:
[HttpGet]
public ActionResult UploadedFiles()
{
var uploadedFiles = new List<UploadedFile>();
var files = Directory.GetFiles(Server.MapPath("~/fileUploads/"));
foreach (var file in files)
{
var fileInfo = new FileInfo(file);
var uploadedFile = new UploadedFile();
uploadedFile.Name = Path.GetFileName(file);
uploadedFile.Size = fileInfo.Length;
uploadedFile.Path = ("~/fileUploads/") + Path.GetFileName(file);
uploadedFiles.Add(uploadedFile);
}
return View();查看:
@model Mvc_fileUploader.Models.UploadedFile
@{
ViewBag.Title = "UploadedFiles";
}
<h2>UploadedFiles</h2>
<table style="background-color:lightpink; border:solid 2px black;">
<tr>
<td>Name</td>
<td>Size</td>
<td>Preview</td>
</tr>
@foreach (var file in Model)
{
<tr>
<td>@file.Name</td>
</tr>
}
</table>github上的源码:https://github.com/xoxotw/mvc_fileUploader
发布于 2013-05-31 20:40:27
需要将视图的模型设置为
IEnumerable<Mvc_fileUploader.Models.UploadedFile>编辑
你不能把模型还回去。在您的控制器操作中;将您创建的列表添加到View()调用中,例如:
[HttpGet]
public ActionResult UploadedFiles()
{
var uploadedFiles = new List<UploadedFile>();
var files = Directory.GetFiles(Server.MapPath("~/fileUploads/"));
// do stuff
return View(uploadedFiles);发布于 2013-06-02 19:10:41
@model Mvc_fileUploader.Models.UploadedFile当只有一个模型传递给视图时,将使用它。如果你想传递模型列表,那么你必须像下面这样写。
IEnumerable<Mvc_fileUploader.Models.UploadedFile>https://stackoverflow.com/questions/16857503
复制相似问题