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