Html.ActionLink mit einer angegebenen HTML-ID?
Ich würde gerne geben die wie generierte mit einem Html.ActionLink
eine HTML-id, damit ich ändern kann, die CSS-je nachdem, wo ich bin. Ich habe eine MasterPage
mit einer Reihe von links, und ich möchte zu unterscheiden, die aktive "Reiter" mit Jquery ändern der css des active #id
Recht, jetzt bin ich mit:
<%: Html.ActionLink("Some View", "Index", "controller")%>
Generiert es:
<a href="/controller">Some View</a>
Möchte ich generieren:
<a id="something" href="/controller">Some View</a>
Ist das möglich? Ich habe versucht:
<%: Html.ActionLink("Some View", "Index", "controller", new {id="blahbla")%>
Aber das generiert:
<a href="/controller/Length?5">Some View</a>
Kommentar zu dem Problem
Ich bin nicht vertraut mit der korrekten syntax, sondern sollte, dass
{
nicht wirklich geschlossen werden? Es sollte, aber ich hätte gedacht, dass der web-server generiert eine Fehlermeldung, wenn Sie versucht zu laufen, dass web-Seite. Ich denke, es ist ein Tippfehler. Kann das original-poster bestätigen bitte?
InformationsquelleAutor der Frage Peter | 2010-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du auf dem richtigen Weg waren. Ich bin nicht sicher, warum es nicht funktioniert für Sie, wie Ihr code hat sich ein Tippfehler gewesen wäre, produziert eine
} expected
Fehler. Das folgende ist, was Sie suchen:Erzeugt den folgenden HTML-Code:
Edit: ich habe gerade erkannt, was das Problem ist weil ich war falsch, zu Lesen, was Sie versucht haben. Sie verwenden die falsche überladung pass in die
id
html-element. Ihre wohl vorbei dienew { id="blah" }
param in derrouteValues
parameter, die dazu verwendet werden, beim erstellen der route verknüpfen, anstatt diehtmlAttributes
paramater, die ist, was Sie wollen.Ich glaube, Sie sind mit:
Wenn das, was Sie brauchen, um zu verwenden, ist die folgende überladung, wie ich oben in meiner Antwort:
Macht sicher
new { id="blah" }
übergeben wird in derhtmlAttributes
param.InformationsquelleAutor der Antwort Kelsey
Versuchen Sie dies:
InformationsquelleAutor der Antwort Peter
Grundsätzlich gibt es eine Fehlermeldung, da gibt es keine Methode, überladung, hat die Signatur, die Sie möchten.
Die nächste Signatur, die Sie brauchen, ist
)
Übergeben Sie das id-Attribut in der routevalue das ist, warum es Ihnen die lustige href. übergeben Sie den Wert null in die routevalue, fügen Sie dann Ihre htmlattributes
InformationsquelleAutor der Antwort MrBliz
versuchen, diese
InformationsquelleAutor der Antwort Benja