2013-02-12 12 views
9

Wie würden Sie einen Html.ActionLink verwenden Sie den folgenden Link zu machen -ASP.NET Razor C# Html.ActionLink leeren Link erstellen

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

Es dumm erscheinen mag, dies zu tun, aber manchmal muss ich einen Link, der hat Link-Funktionalität (Rollover-Pointer, etc.) geht aber nirgendwohin. Und ich möchte einen Html.ActionLink für Code-Konsistenz verwenden.

Ich habe verschiedene Varianten von Html.ActionLink ausprobiert, aber ich bekomme immer wieder Nachrichten über Dinge, die nicht null sein dürfen.

+3

Wenn das alles ist, was Sie in dem Link brauchen, warum verwenden Sie nicht genau das? Überspringe Html.ActionLink alle zusammen. Gibt es etwas Spezifisches, das du von Html.ActionLink brauchst? – Leniency

+0

vereinbart. Verwenden Sie einfach einen Anker –

+0

Ich habe verschiedene Varianten von 'Html.ActionLink' ausprobiert, aber ich bekomme Nachrichten über Dinge, die nicht Null sein dürfen. Ich möchte einen 'Html.ActionLink' für die Code-Konsistenz verwenden, und ich möchte, dass ein Link existiert, mit allem, was passiert, wenn darauf geklickt wird. Vielen Dank! –

Antwort

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

machen wird als

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

Danke Joe. Aber mein Problem ist, ich möchte ein Nein "Link Text" und Ihre Lösung gibt mir ** Wert kann nicht null oder leer sein. Parametername: linkText ** –

+1

Funktioniert nur ein Space? Andernfalls können wir eine benutzerdefinierte Hilfsmethode ausprobieren. Aus Neugier, wie werden die Rollover-Zeiger ausgelöst, wenn kein Inhalt zu rollen ist? – Joe

+0

Ein Leerzeichen funktioniert! Vielen Dank! Entschuldige meine Doppligkeit. Um Ihre Frage zu beantworten, befindet sich der Link in einem "Div" mit einem Hintergrundbild. –

6

Statt zwingen Action etwas zu tun, es nicht gemacht für ist, betrachten Sie Ihre eigene Hilfsmethode erstellen:

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()); 
    } 
} 

Import der Namespace in Ihr Ansicht und Sie können dies tun:

@Html.EmptyLink("My link text") 
Verwandte Themen