ASP.NET C#Datagrid超链接

时间:2012-05-29 17:26:23

标签: c# asp.net datagrid hyperlink

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

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") %>'>

但我得到了一个&#34;数据绑定表达式仅支持具有数据绑定事件的对象。&#34;错误

1 个答案:

答案 0 :(得分:3)

你走了。

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

在这里找到它。 asp.net DataGrid file structure and linking back to it