在gridview中使用超链接显示少量链接

本文关键字:显示 链接 超链接 gridview | 更新日期: 2023-09-27 17:50:35

我在gridview中使用超链接。

使用NavigateUrl,我可以从我的项目目录/PDF/ArchiveCode.pdf链接我的PDF文档。

现在我的目录中有两个PDF文档(第一个文档020001.0001.0001.pdf和第二个文档100410.0001.0001.pdf),但是在gridView的超链接列中显示了所有文本值为'PDF'的链接。

----------------------------------------
|      PDF         | ArchiveCode       | - Headers from gridView
----------------------------------------
|              PDF | 020001.0001.0001  |
----------------------------------------
|              PDF | 100410.0001.0001  |
----------------------------------------
|              PDF | 020001.0131.0441  |
----------------------------------------
|              PDF | 020001.0005.0007  |
----------------------------------------
|              PDF | 020001.0003.0002  |
----------------------------------------
...

因为我只有两个PDF文档是有可能隐藏其他链接(死链接),不使用gridview和激活链接时,我在我的项目目录中创建新文档?

以下是HyperLinkArchiveCode列的代码:

<asp:TemplateField HeaderText="PDF">
    <ItemTemplate>
        <asp:HyperLink ID="PDFHyperLink" Target="_blank" runat="server" Text="PDF"  NavigateUrl   = '<%# "~/pdf/" + Eval("ArchiveCode") + ".pdf" %>'>
        </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>        
<asp:TemplateField HeaderText="ArchiveCode">
    <ItemTemplate>
        <asp:Label ID="lblKod" Text='<%# Eval("ArchiveCode") %>' runat="server"/>
    </ItemTemplate>
</asp:TemplateField>

在gridview中使用超链接显示少量链接

感谢您的评论,我终于解决了我的小问题,我可以使用简单的bool条件控制GridView中的超链接文本。在我的数据库表中,我添加了新的布尔列,名称为"activePDF"。然后在GridView中修改asp:HyperLink:

<asp:HyperLink ID="PDFHyperLink" Target="_blank" runat="server" NavigateUrl = '<%# "~/pdf/" + Eval("ArchiveCode") + ".pdf" %>'  Text ='<%#Convert.ToBoolean(Eval("activePDF"))== true? "PDF":"" %>'>
</asp:HyperLink> 

希望这对别人有帮助。