私は以下の単純なページを持っています。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でこれをachiveないような何かを行うことができますか?
I <%#Path.GetFileNameWithoutExtension(Eval( "Name")。ToString())%> '正しい方向に私を導く可能性があることがわかりました。しかし、私はまだ "データバインディングを取得しています: 'System.String'は名前 '名前'のプロパティを含んでいません。" "名前"以外に何が使えるのかよく分かりませんか? – brother