Gibt es eine Möglichkeit, einen ActionLink mit HTML 5-Datenattributen zu erstellen?

Lesezeit: 1 Minute

HTML5 ermöglicht die Verwendung von benutzerdefinierten Attributen mit dem Präfix „data-“, die die Validierung ohne die Verwendung einer benutzerdefinierten DTD bestehen (Mehr Info). Gibt es in Asp.Net MVC eine Möglichkeit, einen ActionLink mit einem Datenattribut anzugeben?

Die typische Methode zum Hinzufügen von Attributen zu einem ActionLink besteht darin, ein anonymes Objekt mit einer benutzerdefinierten Eigenschaft für jedes Objekt zu übergeben:

new { customattribute="value" }

Was ich gerne machen möchte ist:

new { data-customattribute="value" }

Dies funktioniert jedoch nicht, da der Bindestrich in Eigenschaftsnamen nicht zulässig ist. Gibt es eine Möglichkeit, diese Einschränkung zu umgehen? Oder muss ich mich nur zwischen der Verwendung von ActionLinks und der Verwendung von Datenattributen entscheiden?

oder Sie können verwenden

new { data_customattribute="value" }

und der Compiler ist intelligent genug, um zu wissen, was Sie meinen

  • Ja, um die gleiche Lösung in Versionen vor mvc3 zu erreichen, sollten Sie die @çağdaş-Lösung verwenden

    – Nadeem Khedr

    26. Mai 2011 um 17:34 Uhr

Ja, es gibt eine Überladung für ActionLink Methode, die eine nimmt IDictionary<string,object> anstelle eines anonymen Objekts.

<%=Html.ActionLink("text", "Index", "Home", null /*routeValues*/, 
    new Dictionary<string, object> { 
       { "data-customattribute", "value" }, 
       { "data-another", "another-value" } 
    })%>

Ausgänge :

<a data-another="another-value" data-customattribute="value" href="https://stackoverflow.com/">text</a>

  • Perfekt. Hinweis für zukünftige Leser: Wenn Sie ein IDictionary für die HTML-Attribute verwenden, müssen Sie auch ein RouteDictionary für den routeValues-Parameter verwenden (Sie können dieselbe Syntax verwenden wie die oben verwendeten HTML-Attribute).

    – AaronSieb

    26. Februar 2010 um 4:04 Uhr

1185730cookie-checkGibt es eine Möglichkeit, einen ActionLink mit HTML 5-Datenattributen zu erstellen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy