MVC 4 ActionLink Dictionnaire htmlAttributes ne fonctionne pas

J'espère que c'est juste un bug, mais pensé que c'était peut-être juste moi.

@Html.ActionLink("Test", "Test", "Test",
  new { id = 1 },
  new Dictionary<string, object> { { "class", "ui-btn-test" }, { "data-icon", "gear" } })

Cela ne fonctionne pas mais si je voulais ajouter d'autres attributs que je dois le faire manuellement!

@Html.ActionLink("Test", "Test", "Test",
  new { id = 1 },
  new { @class="ui-btn-test", data_icon="gear", data_new_attr="someextra" })

La première ne fonctionne plus et j'ai besoin de cette personne pour le travail. La seconde fonctionne mais ne se soucient pas ce qu'il fait, parce que je suis en train d'ajouter des attributs supplémentaires, l'objet ne fonctionnera pas, sauf si indiqué différemment.

Quelle est la question? La deuxième voie est la meilleure façon de spécifier htmlAttributes.
Dans MVC 4 le premier ma manière préférée ne fonctionne pas correctement. J'obtiens quelque chose comme ce que les attributs. <un Comparer="System.Collections.Generic.GenericEqualityComparer1[System.String]" Count="1" Keys="System.Collections.Generic.Dictionary2+KeyCollection[System.String,System.Object]" Values="Le Système De.Les Collections.Génériques.Dictionnaire`2+ValueCollection[Système.Chaîne,Système.Objet]" href="/Home">Accueil</a>
Pourquoi voudriez-vous faire le premier moyen. La deuxième façon d'œuvres, est pratique courante, et est plus facile à lire.
J'ai pensé, je l'ai expliqué moi-même. La raison, c'est la capacité d'ajouter des attributs supplémentaires lors de l'exécution. À côté de c'est une méthode qui est décrite dans la documentation comme un paramètre, alors pourquoi suis-je de la difficulté avec l'aide de la méthode décrite?

OriginalL'auteur Jason Foglia | 2012-05-08