2013-02-12 12 views
9

Come ti utilizzare un Html.ActionLink per rendere il seguente link -ASP.NET Razor C# Html.ActionLink per creare un link vuota

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

Può sembrare sciocco per fare questo, ma a volte ho bisogno di un collegamento che ha funzionalità di collegamento (puntatori di rollover, ecc.) ma non va da nessuna parte. E voglio usare un Html.ActionLink per la coerenza del codice.

Ho provato diverse varianti di Html.ActionLink ma continuo a ricevere messaggi su cose che non possono essere nulle.

+3

Se questo è tutto ciò di cui hai bisogno nel link, perché non utilizzarlo esattamente? Salta Html.ActionLink tutti insieme. C'è qualcosa di specifico che ti serve da Html.ActionLink? – Leniency

+0

concordato. basta usare un ancoraggio –

+0

Ho provato diverse varianti di 'Html.ActionLink' ma continuo a ricevere messaggi su cose che non possono essere nulle. Voglio usare un 'Html.ActionLink' per la coerenza del codice, e voglio che esista un collegamento, con qualsiasi cosa accada quando viene cliccato. Grazie! –

risposta

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

renderà come

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

Grazie Joe. Ma il mio problema è che voglio un no "Link Text" e la tua soluzione mi dà ** Valore non può essere nullo o vuoto. Nome parametro: linkText ** –

+1

Solo uno spazio funziona? Altrimenti possiamo provare un metodo di supporto personalizzato. Per curiosità, come vengono attivati ​​i puntatori di rollover se non ci sono contenuti da ribaltare? – Joe

+0

Uno spazio vuoto ha funzionato! Grazie! Scusa per la mia stupidità. Per rispondere alla tua domanda, il link è in un 'div' che ha un'immagine di sfondo. –

6

Invece di costringere ActionLink di fare qualcosa che non è fatto per, è consigliabile creare il proprio metodo di supporto:

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

importare lo spazio nella vostra visualizza e potrai fare ciò:

@Html.EmptyLink("My link text") 
Problemi correlati