gpt4 book ai didi

c# - 如何从 View 中的 FOREACH 语句输出 MVC 中的字符串列表?

转载 作者:行者123 更新时间:2023-11-30 23:13:37 24 4
gpt4 key购买 nike

public ActionResult Directories()
{
GetFolderInfo folder = new GetFolderInfo();
{
string dir = @"C:\";
foreach (string d in Directory.GetDirectories(dir))
{
List<string> ab = new List<string>();
ab.Add(Path.GetFileName(d));
folder.FolderInformation = ab.ToString();
}
}
return View(folder);
}

好吧,在我看来,我称之为这个,但我没有得到正确的列表。我希望此方法显示文件夹“dir”中的所有文件名并将其显示在我的测试网站中

    @model TestMVC.Models.GetFolderInfo

@{
ViewBag.Title = "Directories";
}

<h2>Directories</h2>

<table>
<tr>
<td>
@Model.FolderInformation
</td>
</tr>
</table>

以上是我对方法的看法我的模型是

namespace TestMVC.Models
{
public class GetFolderInfo
{
public string FolderInformation { get; set; }
}
}

最佳答案

根据您的结构,如果您希望能够在您的 View 中遍历它们,您可能需要调整您的模型以实际存储代表您的路径的字符串集合:

public class GetFolderInfo
{
public IEnumerable<string> FolderInformation { get; set; }
}

这将允许您直接在现有代码中设置路径:

GetFolderInfo folder = new GetFolderInfo();
string dir = @"C:\";

// Store your directory paths
List<string> directories = new List<string>();
foreach (var directory in Directory.GetDirectories(dir))
{
// Add the directory path to your collection
directories.Add(directory);
}

// Set your paths
folder.FolderInformation = directories;

既然你有一个集合,你可以简单地在你的 View 中遍历它们:

<h2>Directories</h2>

<table>
@foreach (var directory in Model.FolderInformation)
{
<tr>
<td>
@directory
</td>
</tr>
}
</table>

如果您想变得更复杂一点并存储实际的目录及其底层文件,那么您将需要遍历该目录中的文件以及循环中的文件:

// Store your directory paths
List<string> files = new List<string>();
foreach (var directory in Directory.GetDirectories(dir))
{
var actualDirectory = new DirectoryInfo(directory);
foreach (FileInfo file in actualDirectory.GetFiles())
{
files.Add(file.FullName);
}
}

folder.FolderInformation = files;

关于c# - 如何从 View 中的 FOREACH 语句输出 MVC 中的字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com