0

我有一个应用程序可以创建 PDF 并将它们存储在网站内的文件中。我需要遍历每个文件并找到具有特定名称的文档。我可以毫无问题地创建该列表,但对创建链接的最佳方法感到困惑

这是我到目前为止所拥有的:

string rootFolderPath = Server.MapPath("~/Forms/Offers");
string listOfBidSheets = @"*" + prospect.LastName.Trim() + "_" + prospect.FirstName.Trim() + "*";
string[] fileList = System.IO.Directory.GetFiles(rootFolderPath, listOfBidSheets);

if (fileList.Length > 0)
{  
    rptPDFLinks.DataSource = fileList;
    rptPDFLinks.DataBind();
}

难倒我的部分是在代码的前端放什么:

<li><%# DataBinder.Eval(Container.DataItem, "Item") %></li>

通常,当我绑定到转发器时,Container.DataItems 很容易,因为它们是列名。

关于在哪里采取这个的任何想法?我对不同的解决方案持开放态度。

4

1 回答 1

1

DataBinder 类是一种用一些可选格式呈现 DataItem 属性的好方法。在您的情况下,DataItem 只是一个字符串,因此您不想使用 DataBinder。您可以直接使用 DataItem :

<li><%# Container.DataItem %></li> 

但是,此代码不会为您提供链接。你想做这样的事情:

<li><a href="/Forms/Offers/<%# Container.DataItem %>"><%# Container.DataItem %></a></li>

您还需要从文件名中删除路径。这是一个使用一些 LINQ 的示例(您需要在文件顶部添加“使用 System.Linq”:

rptPDFLinks.DataSource = fileList.Select(x => System.IO.Path.GetFileName(x));
rptPDFLinks.DataBind(); 
于 2012-09-28T03:42:12.580 回答