【问题标题】:Show few links using hyperlink in gridview在gridview中使用超链接显示几个链接
【发布时间】: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 文档,是否可以隐藏网格视图中未使用的其他链接(死链接)并在我的项目目录中创建新文档时激活链接?

这是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 中呈现有关它们的信息,并且一旦它们存在于目录中,将它们呈现为链接?我建议在您的DataSource 中使用另一个字段来指示您的文件的存在。完成后,您可以使用if{}else{} 语句有条件地呈现它们。
  • 感谢您的建议。我将在我的 DadaSource 中增加一列。

标签: c# asp.net gridview


【解决方案1】:

感谢您的 cmets,我终于解决了我的小问题,我可以使用简单的布尔条件控制 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> 

希望这对其他人有所帮助。

【讨论】:

  • 我建议将 activePDF 列绑定到 Visible 属性,而不是将文本更改为“”,这样可以确保链接不会呈现给客户端(这会稍微减少服务器 Internet 连接的负载)。
猜你喜欢
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-09
  • 1970-01-01
  • 2011-09-30
相关资源
最近更新 更多