我想在 MVC4 Web 应用程序的编辑和创建视图中显示包含目录中文件列表的下拉框。我在控制器的编辑部分使用了它:
DirectoryInfo directory = new DirectoryInfo(Server.MapPath("~/DownloadFiles"));
var filesListing = directory.GetFiles().ToList<FileInfo>();
ViewBag.zipListing = filesListing;
这在编辑视图中:
@Html.DropDownListFor(model => model.DownloadName, new SelectList (ViewBag.zipListing).AsEnumerable())
哪个工作正常,(DownloadName是表字段的名称),它会更新字段并在编辑页面加载时显示正确的 db 表项。但是,如果我尝试在 Create 视图中使用它,它会错误地抱怨 Null 或找不到参考。
我有一个块的副本:
DirectoryInfo directory = new DirectoryInfo(Server.MapPath("~/DownloadFiles"));
var filesListing = directory.GetFiles().ToList<FileInfo>();
ViewBag.zipListing = filesListing;
在控制器的 Create 部分中,使用 var filesListing和 ViewBag。zipListing重命名以避免混淆(我想我应该将目录读数放在一个地方列出东西,但一次可能只有一件事..)
请问如何将此目录列表用作“创建”视图中的下拉列表?我尝试了很多变化,但似乎没有任何效果。谢谢你的时间。