2013-02-12 67 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")