7

これが単なるバグだといいのですが、たぶん私だけだと思いました。

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

これは機能しますが、さらに属性を追加したい場合は、手動で行う必要があります。

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

最初のものはもう機能しません、そして私はこれが機能する必要があります。2つ目は機能しますが、それが機能するかどうかは気にしないでください。属性を追加しようとしているため、別の方法で指示しない限り、オブジェクトは機能しません。

4

1 に答える 1

9

提供されているActionLinkヘルパーメソッドはいずれも、指定しているようなパラメーターを受け入れません。html属性にタイプIDictionaryのパラメーターを受け取る唯一のものは、ルート値にRouteValueDictionaryを期待します。現状では、現在、辞書を匿名オブジェクトとして扱っている関数を呼び出しています。

試す

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

または、独自の拡張メソッドを実装します。

于 2012-05-18T18:27:42.617 に答える