【发布时间】:2022-01-16 14:46:44
【问题描述】:
我正在将文件和文件路径从控制器发送到 MVC 视图:
这是我的控制器:
public ActionResult Help()
{
var releaseNoteFiles = Directory.GetFiles(Server.MapPath("~/Content/ReleaseNotes"));
List<string> month = new List<string>();
foreach (var releaseNoteFile in releaseNoteFiles)
{
month.Add(new Regex("([^A-Z]*)([a-zA-Z]*)").Match(Path.GetFileNameWithoutExtension(releaseNoteFile).Split('.').Last()).Groups[2].Value);
}
ViewBag.releaseNoteFilesmonth = month;
ViewBag.releaseNoteFiles = releaseNoteFiles;
return View();
}
这是在视图中显示的方式:
@foreach (var item in ViewBag.releaseNoteFilesmonth)
{
<a href="(ViewBag.releaseNoteFiles as string[]).Where(x => x.Contains(item)).FirstOrDefault()"> @item</a>
<br />
}
这是我期待的输出:
OCT - (Link to the file)
NOV - (Link to the file)
Dec - (Link to the file)
当我像这样对路径进行硬编码时,它正在工作:
href="~/Content/ReleaseNotes/Release Notes 1.104.0_August102021.pdf"
但是当我尝试动态访问它时不确定如何写入文件的路径,这一行无法正常工作:
href="(ViewBag.releaseNoteFiles as string[]).Where(x => x.Contains(item)).FirstOrDefault()">
【问题讨论】:
标签: c# asp.net-mvc