我在gridview中使用超链接。
使用NavigateUrl
我可以从项目目录/pdf/ArchiveCode.pdf链接我的PDF文档。
现在我的目录中有两个PDF文档(第一个文档020001.0001.0001.pdf和第二个文档100410.0001.0001.pdf),但是在gridView的超链接列中显示了文本值为“PDF”的所有链接。 / p>
----------------------------------------
| 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中使用的其他链接(死链接),并在项目目录中创建新文档时激活链接?
以下是HyperLink
和ArchiveCode
列的代码:
<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>
答案 0 :(得分:0)
感谢您的评论我终于解决了我的小问题,我可以使用简单的bool条件控制GridView中的超链接TEXT。在我的数据库表中,我添加了名为“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>
希望这有助于他人。