3

我正在使用数据网格:

<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”。

文件信息属性的名称属性只返回名称。(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 回答