ASP.NET中gridView上的条件文件列表
本文关键字:条件 文件 列表 NET gridView ASP | 更新日期: 2023-09-27 18:24:11
我正在为我的一个朋友编写一个文件管理网页。我使用DropDownlist元素选择文件夹。当索引发生变化时,它会填充网格视图。
为了防止用户失误,我决定在点击删除按钮时不删除该文件。我更改了已删除文件的名称并添加了后缀。
例如,如果我通过delete按钮删除file.pdf
,它将被重命名为file.pdf_zkanoca_deleted_1411472294
填充网格视图内容后,仍会列出重命名的文件。我的listFiles()
方法如下:
public void listFiles(string selectedFolder)
{
var dir = new DirectoryInfo(selectedFolder);
gridView1.DataSource = dir.GetFiles();
gridView1.DataBind();
}
我想要的是在将数据源绑定到gridview之前检查文件名是否包含"_zkanoca_deleted_
"字符串。如果它包含该字符串,它将不会被列出。
我认为foreach
循环将解决我的问题。但我无法想象如何构建它。
使用IEnumerable.Where扩展
gridView1.DataSource = dir.GetFiles().Where(x => !x.Name.Contains("_zkanoca_deleted_")).ToList();
正如文档中所解释的,Where扩展使用谓词过滤序列
在这种情况下,您可以使用FileInfo属性Name来检查它是否包含禁止的子字符串,并从绑定到网格视图的序列中排除该FileInfo。