-2

グリッドビューでハイパーリンクを使用しています。

NavigateUrlプロジェクト ディレクトリ /pdf/ArchiveCode.pdf から PDF ドキュメントをリンクできます。

現在、ディレクトリに 2 つの PDF ドキュメント (最初のドキュメント 020001.0001.0001.pdf と 2 番目のドキュメント 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 ドキュメントが 2 つしかないため、プロジェクト ディレクトリに新しいドキュメントを作成するときに、グリッドビューから使用されていない他のリンク (デッド リンク) を非表示にして、リンクをアクティブにすることはできますか?

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>
4

1 に答える 1

0

コメントのおかげで、私は最終的に小さな問題を修正し、単純なブール条件を使用して 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> 

これが他の人に役立つことを願っています。

于 2013-01-15T13:00:21.200 に答える