我有以下简单的页面;从LINQ数据集(GetFiles)到ListView的值?
<%@ Import namespace="System.IO" %>
<script runat="server">
int pageSize = 10;
int pageNum = 1;
protected override void OnInit(EventArgs e)
{
var currentPage = Directory.GetFiles(@"C:\mypath", "*.pdf").Skip((pageNum - 1) * pageSize).Take(pageSize).OrderBy(c => c).ToArray();
Listview1.DataSource = currentPage;
Listview1.DataBind();
base.OnInit(e);
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test project</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView ID="Listview1" runat="server">
<LayoutTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<td>Titel</td>
<td>Size</td>
</tr>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><a href=''><%#Eval("Name") %></a></td>
<td>0 kb</td>
</tr>
</ItemTemplate>
</asp:ListView>
</form>
</body>
</html>
如何获取文件名,大小,路径等到我的列表视图。如果我只是有一个简单的每个直接在GetFiles的,我可以做类似
FileInfo f = new FileInfo(pdfFile);
long pdfSize = f.Length;
Response.Write(Path.GetFileName(pdfFile) + " - " + pdfSize.ToString() + "<br/>");
但我如何实现这一目标,我的ListView?
我发现也许这可能导致我在正确的方向'<%#Path.GetFileNameWithoutExtension(Eval(“Name”)。ToString())%>'。但我仍然收到“DataBinding:'System.String'不包含名称为'Name'的属性。” 不知道还有什么我可以使用除“名称”? – brother 2012-03-09 22:24:40