加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:25:49 所属栏目:asp.Net 来源:网络整理
导读:我有一个转发器,将输出一系列项目: asp:repeater ... runat="Server" itemtemplate a href="%# GetItemLink(...) %"%# GetItemText %/a itemtemplateasp:repeater 但是有些项目没有相关的链接,所以我不希望它们是可点击的.我试着让它成为一个runat = server
我有一个转发器,将输出一系列项目:

<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:HyperLink> control,如果没有提供链接,则正常显示文本.

编辑包括示例:

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

在上面的例子中,锚标记将被渲染为html,但是如果NavigateUrl属性是一个空字符串,则根本没有href,我曾经使用的每个浏览器都以类似于spans的方式呈现文本(所以请注意< a>的自定义样式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读