2013-02-12 69 views
9

你会如何使用Html.ActionLink呈现以下链接 -ASP.NET剃刀C#Html.ActionLink创建空链接

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

它可能看起来很傻要做到这一点,但有时我需要有一个链接链接功能(滚动指针等),但不会去任何地方。我想使用Html.ActionLink来实现代码一致性。

我已经尝试了Html.ActionLink的不同变化,但我不断收到有关不允许为空的消息。

+3

如果这就是链接中的所有需求,为什么不直接使用?一起跳过Html.ActionLink。 Html.ActionLink是否需要特定的内容? – Leniency 2013-02-12 19:29:42

+0

同意。只是使用锚点 – 2013-02-12 19:29:59

+0

我试过不同的'Html.ActionLink'版本,但我不断收到有关不允许为空的消息。我想使用一个'Html.ActionLink'作为代码一致性,并且我想要一个链接来存在,点击时发生任何事情。谢谢! – 2013-02-12 19:47:50

回答

13
@Html.ActionLink(" ", "", "", new {href="javascript:void(0)"}) 

将呈现为

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

谢谢乔。但我的问题是我想要一个没有“链接文本”,你的解决方案给我**值不能为空或空。 参数名称:linkText ** – 2013-02-12 20:14:58

+1

只是一个空间的工作?否则,我们可以尝试一个自定义帮助器方法。出于好奇,如果没有内容翻转,如何触发翻转指针? – Joe 2013-02-12 20:21:30

+0

空白处理!谢谢!对不起,我的掺杂。要回答你的问题,该链接是在一个具有背景图像的div中。 – 2013-02-12 20:59:36

6

而不是强制ActionLink的做一些事情是不适合,考虑创建自己的helper方法制成的:

public static class MyHtmlExtensions 
{ 
    public static MvcHtmlString EmptyLink(this HtmlHelper helper, string linkText) 
    { 
     var tag = new TagBuilder("a"); 
     tag.MergeAttribute("href", "javascript:void(0);"); 
     tag.SetInnerText(linkText); 
     return MvcHtmlString.Create(tag.ToString()); 
    } 
} 

导入命名空间到你你可以这样做:

@Html.EmptyLink("My link text")