1

我在这里尝试做的是让数据网格显示服务器上的文件列表,用户可以单击以下载或打开这些文件。该列表很好地填充了文件,我得到了文件夹中所有 pdf 文件的完整列表。当我在数据网格中单击它们时,链接将定向到应用程序根目录,而不是正确的文件夹。 如何告诉数据网格超链接列去哪里?

后面的 C# 代码:

DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~") + "/Assets/reports/");
gridList.DataSource = dir.GetFiles("*.pdf");
gridList.DataBind();

ASP

<asp:DataGrid runat="server" id="gridList" Font-Name="Verdana"
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name" 
       HeaderText="File Name"/>
</Columns>
</asp:DataGrid>  

我试着把它放在:

 NavigateUrl =  '<%# "~/Assets/reports/" + Eval("Name") %>'>

但我得到一个“只有具有数据绑定事件的对象才支持数据绑定表达式。” 错误

4

1 回答 1

3

干得好。

<asp:HyperLinkColumn DataNavigateUrlField="Name" 
  DataTextField="Name" 
  HeaderText="File Name"
  DataNavigateUrlFormatString="~\examfilemanager\{0}" />

在这里找到它。 asp.net DataGrid 文件结构并链接回它

于 2012-05-29T17:31:16.510 回答