作品
<a href="@Url.Action("edit", "markets", new { id = 1 })"
data-rel="dialog" data-transition="pop" data-icon="gear" class="ui-btn-right">Edit</a>
動作しない-なぜ?
@Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data-icon="gear"})
Data-icon = "gear"のようなものをhtmlAttributesに渡すことができないようです。
提案?
問題は、匿名オブジェクトプロパティdata-icon
の名前が無効であることです。 C#プロパティの名前にダッシュを含めることはできません。それを回避する方法は2つあります。
ダッシュの代わりにアンダースコアを使用します(MVCは、出力されるHTMLのアンダースコアを自動的にダッシュに置き換えます)。
@Html.ActionLink("Edit", "edit", "markets",
new { id = 1 },
new {@class="ui-btn-right", data_icon="gear"})
辞書を取り込むオーバーロードを使用します。
@Html.ActionLink("Edit", "edit", "markets",
new { id = 1 },
new Dictionary<string, object> { { "class", "ui-btn-right" }, { "data-icon", "gear" } });
目的のハイフンをアンダースコアに置き換えます。それは自動的にハイフンとしてレンダリングされます:
@Html.ActionLink("Edit", "edit", "markets",
new { id = 1 },
new {@class="ui-btn-right", data_icon="gear"})
になる:
<form action="markets/Edit/1" class="ui-btn-right" data-icon="gear" .../>