如何在asp.net c#中创建超链接域只读?

时间:2011-11-16 15:33:29

标签: c# asp.net .net visual-studio

我需要根据来自位于项目文件夹中的datanavigateurlfield的参数启用显示.pdf文档的链接。我想让超链接“只读”或让它导航回默认网页,或者如果文件夹中没有用户在gridview中点击的特定单元格中的报告,则显示消息框。这可能吗?谢谢。

2 个答案:

答案 0 :(得分:0)

使用TemplateField代替HyperLinkField:

<asp:TemplateField >
     <ItemTemplate>
          <asp:HyperLink runat="server" Text='<%# Eval("Name") %>'
               NavigateUrl='<%# String.IsNullOrEmpty((String)Eval("Url"))? "javascript: alert(\"no report\"); return false;" : Eval("Url") %>' />
     </ItemTemplate>
</asp:TemplateField>

答案 1 :(得分:0)

听起来您需要限定链接导航到的位置而不是任何花哨的位置 - 换句话说,执行此验证服务器端。

例如,捕获datagrid / container的DataRowBound(或equilivalent)事件。获取dataitem并确定URL是否正确。如果是的话,这里没有什么可看的。如果不是,请将字段的navigateUrl更改为适当的位置或JS代码。