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 に答える