它是可以防止asp.net 超级链接控制从联,即因此,它的出现作为一个标签,而实际上不具有对替代控制与标签?也许使用CSS或设置一个属性?

我知道,标记为残疾人工作但随后得以不同的方式显示(灰色显示)。

为澄清我的观点,我有一个清单的用户的名字在我的网页,其中都建立动态采用户的控制。大多数时候这些名称都可链接到一封电子邮件网页。但是,如果用户已被禁用的名称显示,在灰色的但是目前还链接到电子邮件网页。我想这些残疾人用户不链接。

我知道,真的,我应该替换他们用一个标签,但这似乎并不非常一样优雅只是去除的联能力using CSS说,(如果这是可能的)。他们已经显示在不同的颜色,使其明显,他们被禁止的用户。我只是需要关闭的链接。

有帮助吗?

解决方案

这听起来像一份工作!只是给一个特定的类名称所有的超级链接控制你想要的网址删除,然后应用以下JQuery段到底你页:

$(document).ready(function() {
    $('a.NoLink').removeAttr('href')
});

所有的超级链接控制用类名"NoLink"将自动拥有所有他们的网址拆除和链接将出现的是什么多的文本。

一个单一的线备可以解决你的问题。

其他提示

我很好奇什么是你来完成。为什么使用的链路呢?

是这只是在格式化?在这种情况下,只使用一个 <span> 在HTML和使用样式,以使该格式匹配的链接。

或者你用链接,并附上一份击事件,其中你"return false;",这将使浏览器不导航-如果JS启用。

但是:是不是很混乱你的用户?为什么创造的东西,这看起来像一个链接,但并没有什么?

你能提供更多的细节?我有这个感觉,你是在试图解决的一个更大的问题,其中有一个方法更好的解决方案于削弱的链接:-)

一个超级链接控制将呈现为一个"a""/"标记不管是什么设置你做的。你可以定制CSS类使链接看起来像一个正常的标签。

或者你可以建立一个自定义的控制,继承了从系统。网。用户界面。支持此.超级链接,并复盖所呈现的方法

protected override void Render(HtmlTextWriter writer)
        {
            if (Enabled)
                base.Render(writer);
            else
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                writer.Write(Text);
                writer.RenderEndTag(HtmlTextWriterTag.Span);
            }
        }

     }

可能有点过分,但是它的工作对于您的要求。

加上我找到是有用的,有一个基asp:CustomHyperlink asp:CustomButton类在我的项目的文件。使得更易于定义的行为在整个项目。

如果你只是想要修改外的链接,以便为未来看起来像一个链接,可以设置CSS为您的"a"标记没有强调:

a: link, visited, hover, active {
    text-decoration: none;
}

虽然我会建议不包括"悬浮"在这里是因为将不会有其他办法可以知道,这是一个链接。

无论如何,我同意@pilif在这里,这看起来像一个实用性的灾难。

如果你的意思是停止的链接激活,以通常的方式是链接"javascript:void(0);",即:

<a href="javascript:void(0);">foo</a>

这个应该的工作:

onclick="return false;"  

如果不是,你可以改变的href"#"。使它的出现作为一个余下的案文是css,例如显示的箭头不是一方面是:

a.dummy {  
    cursor:default;  
}  

感谢所有的输入,它看起来像简短的回答是不你不能(也不很好无论如何)',所以我得这样做的困难的方式,并添加的条件代码。

如果您使用的是据绑定在asp.net 处理数据绑定的事件和不设置NavigateUrl如果用户是禁止的。

你有没有试过只是 设置NavigateUrl的财产?如果这不是设置,它可能仅呈现为一个跨度。

.融合的链接包装{指针的活动:无;}

另一个解决方案是适用于这类在你的超链接。

.avoid-clicks {
  pointer-events: none;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top