ASP.NET:如何将 <A> 或 HtmlAnchor 转换为静态文本?

标签 asp.net html

我有一个可以输出一系列项目的转发器:

<asp:repeater ... runat="Server">
   <itemtemplate>
      <a href="<%# GetItemLink(...) %>"><%# GetItemText %></a>
   <itemtemplate>
<asp:repeater>

但是有些项目没有关联链接,所以我不希望它们可以点击。我尝试将其设为 runat=server HtmlAnchor,并为项目设置 htmlAnchor.Disabled = true 实际上不应该有链接 -但它们仍然可以被点击(它只是使文本变灰)

我知道在过去我会怎么做:

<% If IsLink Then %>
   <A href="<% =GetItemLink%">
<% End If %>
   <% =GetItemText %>
<% If IsLink Then %>
   </A>
<% End If %>

但这是困惑的混合代码和 html ASP 方式。什么是 ASP.NET 方式?

最佳答案

使用 控件,如果没有提供链接,它会正常显示文本。


编辑以包含示例:

<asp:repeater ... runat="Server">
   <itemtemplate>
      <asp:HyperLink ... runat="server" NavigateUrl="<%# GetItemLink(...) %>"> <%# GetItemText %></asp:HyperLink>
   <itemtemplate>
<asp:repeater>

在上面的例子中,无论如何 anchor 标签都会被渲染成html,但是如果NavigateUrl属性是一个空字符串,那么根本就没有href,我用过的所有浏览器以类似于 span 的方式呈现文本(因此请注意 上的自定义样式)。

关于ASP.NET:如何将 <A> 或 HtmlAnchor 转换为静态文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/184570/

相关文章:

c# - 将二进制字段绑定(bind)到 ASP.NET DataGrid 导致错误

asp.net - 如何在 ASP.NET MVC 应用程序中使用 jQuery 选项卡进行导航?

ASP.NET MVC并使用无cookie session

c# - Dnn,客户端资源管理 - 模块路径

html - div中的垂直居中元素

asp.net - .net 项目的结构代码指南

javascript - angular js - 获取json数据

html - 使图像标题在悬停时覆盖整个图像

javascript - fullPage.js 滚动到固定标题

jQuery 切换下拉菜单不起作用