3

私は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これを可能にするにはどうすればよいですか?

4

1 に答える 1

3

これを試して:

<asp:HyperLinkColumn DataNavigateUrlField="Name" 
      DataTextField="Name" 
      HeaderText="File Name"
      DataNavigateUrlFormatString="~\examfilemanager\{0}" />
于 2012-04-16T17:11:21.290 に答える