2013-02-12 6 views
9

あなたは次のリンクをレンダリングするためにHtml.ActionLinkを使用する方法空のリンクを作成しますリンク機能(ロールオーバーポインタなど)はありませんが、どこにも行きません。そして、コードの一貫性のためにHtml.ActionLinkを使用したいと思います。ASP.NETレイザーC#Html.ActionLinkは

Html.ActionLinkのさまざまなバリエーションを試しましたが、nullにすることができないことに関するメッセージを受け取り続けています。

+3

それがあなたがリンクで必要とするものなら、ちょうどそれを使うのではないのですか?一緒にHtml.ActionLinkをスキップしてください。 Html.ActionLinkから必要なものがありますか? – Leniency

+0

が合意しました。ただアンカーを使用してください –

+0

私は 'Html.ActionLink'のさまざまなバリエーションを試しましたが、nullになることが許されないことに関するメッセージを受け取り続けています。私はコードの整合性のために 'Html.ActionLink'を使いたいと思っています。リンクが存在するようにしたいと思います。ありがとう! –

答えて

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

は、独自のヘルパーメソッドを作成することを検討し、代わりにそれがために作られていない何かをするActionLinkのを強制するの

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

ありがとうジョー。しかし、私の問題は、私は "リンクテキスト"を必要とし、あなたのソリューションは私に**値はnullまたは空ではないことを示します。 パラメータ名:linkText ** –

+1

宇宙はうまくいくのでしょうか?それ以外の場合は、カスタムヘルパーメソッドを試すことができます。好奇心の外に、ロールオーバするコンテンツがない場合、ロールオーバーポインタはどのようにトリガされますか? – Joe

+0

空白スペースが機能しました!ありがとう!私のドーピネスには申し訳ありません。あなたの質問に答えるために、リンクは背景画像を持つ 'div'にあります。 –

6

としてレンダリングされます:

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") 
関連する問題