【发布时间】:2013-01-04 11:20:59
【问题描述】:
我在 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 文档,是否可以隐藏网格视图中未使用的其他链接(死链接)并在我的项目目录中创建新文档时激活链接?
这是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>
【问题讨论】:
-
你的问题不太清楚,能否详细解释一下?
-
您需要更新数据源以仅显示活动/可用文件。
-
所以您想禁用指向不存在文档的链接,但仍然在
GridView中呈现有关它们的信息,并且一旦它们存在于目录中,将它们呈现为链接?我建议在您的DataSource中使用另一个字段来指示您的文件的存在。完成后,您可以使用if{}else{}语句有条件地呈现它们。 -
感谢您的建议。我将在我的 DadaSource 中增加一列。