我有一个创建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很容易,因为它们是列名。
有关何处采取此问题的任何想法?我对所有的解决方案持开放态度。
答案 0 :(得分:1)
DataBinder类是使用一些可选格式呈现DataItem的属性的好方法。在您的情况下,DataItem只是一个字符串,因此您不想使用DataBinder。您可以直接使用DataItem:
<li><%# Container.DataItem %></li>
此代码不会为您提供链接。你想做这样的事情:
<li><a href="/Forms/Offers/<%# Container.DataItem %>"><%# Container.DataItem %></a></li>
您还需要从文件名中删除路径。这是使用一些LINQ的示例(您需要在文件顶部添加'using System.Linq':
rptPDFLinks.DataSource = fileList.Select(x => System.IO.Path.GetFileName(x));
rptPDFLinks.DataBind();