1

我有一个简单的代码来列出文件DataGrid。这是服务器端代码:

Dim dirInfo As New DirectoryInfo(Server.MapPath("~\images\"))
articleList.DataSource = dirInfo.GetFiles("*.*")
articleList.DataBind()

.ASPX 页面标签:

    <asp:DataGrid runat="server" id="articleList" Font-Name="Verdana"
        AutoGenerateColumns="False" AlternatingItemStyle-BackColor="#eeeeee"
        HeaderStyle-BackColor="Navy" HeaderStyle-ForeColor="White"
        HeaderStyle-Font-Size="15pt" HeaderStyle-Font-Bold="True">
      <Columns>
        <asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name" 
               HeaderText="File Name" Target="_blank"/>
        <asp:BoundColumn DataField="LastWriteTime" HeaderText="Last Write Time"
            ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
        <asp:BoundColumn DataField="Length" HeaderText="File Size"
            ItemStyle-HorizontalAlign="Right" 
            DataFormatString="{0:#,### bytes}" />
      </Columns>
    </asp:DataGrid> 

它列出了文件,http://localhost/images.aspx文件位置是http://localhost/cp/list.aspx然后超链接位置是这样http://localhost/cp/myfile.jpg的:因为文件位置是http://localhost/images/myfile.jpg.
我该如何解决?

4

1 回答 1

2

您可以使用 DataNavigateUrlFormatString

<asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name"  DataNavigateUrlFormatString="http://localhost/images/{0}" HeaderText="File Name" Target="_blank"/>

{0}将是您的图像名称,即Name列值。

于 2013-03-23T19:55:33.433 回答