私はDataGridを使用しています:
<asp:DataGrid runat="server" ID="articleList" UseAccessibleHeader="true" AutoGenerateColumns="false" AlternatingItemStyle-BackColor="#EEEEEE" HeaderText="File Name">
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="DirectoryName" DataTextField="Name" HeaderText="File Name" />
<asp:BoundColumn DataField="LastWriteTime" HeaderText="Modified" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:f}" />
<asp:BoundColumn DataField="Length" HeaderText="Size" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,### bytes}" />
<asp:BoundColumn DataField="Extension" HeaderText="Type" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:DataGrid>
これが私のコードビハインドページです:
protected void Page_Load(object sender, EventArgs e)
{
DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("examfilemanager"));
articleList.DataSource = dirInfo.GetFiles();
articleList.DataBind();
}
このディレクトリ内のファイルは次のとおりです。
01.jpg
02.jpg
MyDoc.doc
クライアントがこれをクリックしてダウンロードするための直接リンクを提供しようとしています。私が取得できるリンクは、examfilemanagerフォルダー内にある「01.jpg」という名前だけのようです。
ファイル情報プロパティのNameプロパティは、名前だけを返します。(01.jpg)
リンクのhrefは01.jpgですが、examfilemanager/01.jpg
これを可能にするにはどうすればよいですか?