使用GetFiles或EnumarateFiles使用文件名填充html.DropDownList

时间:2015-10-20 03:46:59

标签: asp.net razor html-helper

我正在尝试创建一个非常简单的 HTML.DropDownList 文件。我收到一些无效的参数错误。我尝试过GetFiles()和EnumerateFiles()方法。我相信我有一个IEnumerable问题。我正在使用WebMatrix / WebPages / C#。感谢。

 // DirectoryInfo directory = new DirectoryInfo(Server.MapPath("Images/Products"));
 // var filesListing = directory.GetFiles().ToList<FileInfo>();
 var filesListing = Directory.EnumerateFiles("Images/Products");

 @Html.DropDownList("Files",filesListing)

2 个答案:

答案 0 :(得分:0)

如果它是虚拟目录,则需要使用Server.MapPath ...

var filesListing = Directory.EnumerateFiles(Server.MapPath("Images/Products"));
@Html.DropDownList("Files",filesListing)

答案 1 :(得分:0)

DropDownList根本没有这种过载。您需要使用文件列表构建var filesListing = new SelectList(Directory.EnumerateFiles("Images/Products")); 对象:

using System.Web.Mvc;

确保将{{1}}添加到代码文件中。如果您进行上述更改,则无需更改视图代码。