如何从C#控制器发送2个列表以使用ViewBag进行查看



我将月份(从文件路径获取值(和文件路径发送到MVC视图,这样我就可以显示链接到文件的月份列表,以便下载它,如下所示:

OCT(that is linked to file path)
Nov (that is linked to file path)
December (that is linked to file path)

这是我的控制器C#代码:

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;   /Has October,Nov,...
ViewBag.releaseNoteFiles = releaseNoteFiles; /Has Path to the File
return View();
}

这是我的观点,我对如何发送两个列表(文件名和路径(有问题。这段代码显示了两次列表。

@foreach (var item in ViewBag.releaseNoteFilesmonth)
{foreach (var item2 in ViewBag.releaseNoteFiles)
{
@item <a href="@item2">@item</a>
<br />
}
}

您似乎想在视图上打印带有超链接的月份和月份文件,如果您对此进行了排序,请参阅下面的代码。

@foreach (var item in ViewBag.releaseNoteFilesmonth)
{
var matchedmonthfile = (ViewBag.releaseNoteFiles as string[]).Where(x => x.Contains(item)).FirstOrDefault();
@item <a href="@matchedmonthfile">@matchedmonthfile</a>
<br />
}

最新更新