【发布时间】:2011-11-11 03:07:33
【问题描述】:
如果我要将其他数据(模型除外)传递到我的视图中,例如特定文件夹中的文件列表,那么最好的方法是什么?
我正在考虑创建一个方法并将列表返回到ViewData:
public List<string> GetFiles(int id, string cat)
{
var files = new List<string>();
var folder = "~/App_Data/uploads/" + cat + "/" + id.ToString();
foreach (var file in Directory.GetFiles(folder))
{
files.Add(file);
}
return files;
}
控制器:
ViewData["files"] = db.GetFiles(id, "random");
观点:
@foreach (var item in ViewData["files"]){ //markup }
首先,我听说不应使用 viewdata 和 viewbag。其次,此代码不起作用。带有 Viewdata 对象的东西是不可枚举的。我应该为这些文件创建一个模型类。如果是这样,怎么做?一个视图中有 2 个模型?我有点困惑如何做到这一点。
【问题讨论】:
标签: asp.net-mvc-3 razor .net viewdata