C# ASP.NET中gridView上的条件文件列表?
我正在为我的一个朋友写一个文件管理网页。我使用DropDownlist元素选择文件夹。当索引更改时,它将填充gridview 为了防止用户滑倒,我决定在单击“删除”按钮时不删除该文件。我更改已删除文件的名称并添加后缀 例如,如果我通过Deletebutton删除C# ASP.NET中gridView上的条件文件列表?,c#,asp.net,gridview,file-io,C#,Asp.net,Gridview,File Io,我正在为我的一个朋友写一个文件管理网页。我使用DropDownlist元素选择文件夹。当索引更改时,它将填充gridview 为了防止用户滑倒,我决定在单击“删除”按钮时不删除该文件。我更改已删除文件的名称并添加后缀 例如,如果我通过Deletebutton删除file.pdf,它将重命名为file.pdf\u zkanoca\u deleted\u 1411472294 填充gridview内容后,仍会列出重命名的文件。我的listFiles()方法如下所示: public void list
file.pdf
,它将重命名为file.pdf\u zkanoca\u deleted\u 1411472294
填充gridview内容后,仍会列出重命名的文件。我的listFiles()
方法如下所示:
public void listFiles(string selectedFolder)
{
var dir = new DirectoryInfo(selectedFolder);
gridView1.DataSource = dir.GetFiles();
gridView1.DataBind();
}
在将数据源绑定到gridview之前,我想检查文件名是否包含“\u zkanoca\u deleted\u
”字符串。如果它包含该字符串,则不会列出该字符串
我认为一个foreach
循环可以解决我的问题。但是我无法想象如何构造它。使用扩展
gridView1.DataSource = dir.GetFiles().Where(x => !x.Name.Contains("_zkanoca_deleted_")).ToList();
如文档中所述,Where扩展使用谓词过滤序列。在这种情况下,您可以使用FileInfo属性名检查它是否包含禁止的子字符串,并将该FileInfo从绑定到gridview的序列中排除。使用扩展名
gridView1.DataSource = dir.GetFiles().Where(x => !x.Name.Contains("_zkanoca_deleted_")).ToList();
如文档中所述,Where扩展使用谓词过滤序列。在这种情况下,您可以使用FileInfo属性名检查它是否包含禁止的子字符串,并将该FileInfo从绑定到gridview的序列中排除。使用扩展名
gridView1.DataSource = dir.GetFiles().Where(x => !x.Name.Contains("_zkanoca_deleted_")).ToList();
如文档中所述,Where扩展使用谓词过滤序列。在这种情况下,您可以使用FileInfo属性名检查它是否包含禁止的子字符串,并将该FileInfo从绑定到gridview的序列中排除。使用扩展名
gridView1.DataSource = dir.GetFiles().Where(x => !x.Name.Contains("_zkanoca_deleted_")).ToList();
如文档中所述,Where扩展使用谓词过滤序列。在这种情况下,您可以使用FileInfo属性名检查它是否包含禁止的子字符串,并将该FileInfo从绑定到gridview的序列中排除。为什么双引号是这样的
“\u zkanca\u deleted\u”
您的建议看起来很好而且很灵活,但是gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanca\u deleted\u0”)。ToList()代码>给出错误,并且在删除(我猜)不必要的双引号后gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanoca\u deleted”))。ToList()代码>它不隐藏已删除的文件。很抱歉,复制/粘贴错误。您删除它们是正确的。此版本的Contains区分大小写。如果禁止的文本不是全部小写的,那么包含return false,文件将被列出。我的错,我写了其他东西,而不是用我的本地语言删除zkanoca_。为什么会有双引号“\u zkanca\u deleted\u”
您的建议看起来很好而且很灵活,但是gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanca\u deleted\u0”)。ToList()代码>给出错误,并且在删除(我猜)不必要的双引号后gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanoca\u deleted”))。ToList()代码>它不隐藏已删除的文件。很抱歉,复制/粘贴错误。您删除它们是正确的。此版本的Contains区分大小写。如果禁止的文本不是全部小写的,那么包含return false,文件将被列出。我的错,我写了其他东西,而不是用我的本地语言删除zkanoca_。为什么会有双引号“\u zkanca\u deleted\u”
您的建议看起来很好而且很灵活,但是gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanca\u deleted\u0”)。ToList()代码>给出错误,并且在删除(我猜)不必要的双引号后gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanoca\u deleted”))。ToList()代码>它不隐藏已删除的文件。很抱歉,复制/粘贴错误。您删除它们是正确的。此版本的Contains区分大小写。如果禁止的文本不是全部小写的,那么包含return false,文件将被列出。我的错,我写了其他东西,而不是用我的本地语言删除zkanoca_。为什么会有双引号“\u zkanca\u deleted\u”
您的建议看起来很好而且很灵活,但是gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanca\u deleted\u0”)。ToList()代码>给出错误,并且在删除(我猜)不必要的双引号后gridView1.DataSource=dir.GetFiles()。其中(x=>!x.Name.Contains(“\u zkanoca\u deleted”))。ToList()代码>它不隐藏已删除的文件。很抱歉,复制/粘贴错误。您删除它们是正确的。此版本的Contains区分大小写。如果禁止的文本不是全部小写的,那么包含return false,文件将被列出。我的错,我写了其他东西,而不是用我的本地语言删除zkanoca_。