40

質問: 次のようなドロップダウン リストを作成する必要があります。

<select id="ddCustomers" data-placeholder="Choose a customer" class="chzn-select" style="width:350px;" tabindex="1" multiple>

これで、次のようなカスタム属性を追加できます:

@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled" })

残念ながら、変数名に「-」が含まれていると、コンパイルされません。

@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled", @data-placeholder = "whatever" })

では、属性値を持たない倍数はどうでしょうか。

の代わりに Dictionary または NameValueColletion を渡すnew { @disabled = "disabled" }と、NameValueColletion/Dictionary のプロパティが出力されます...

属性 key に特殊文字を含む属性を渡すにはどうすればよいですか?

4

2 に答える 2

76

代わりにアンダースコアを使用してください

@data_placeholder = "whatever"

Mvc3なので、レンダリング時に「_」は「-」に置き換えられます。これはMvc5にも当てはまります。

htmlの属性名ではアンダースコアを使用できないため、これは正常に機能します。

于 2012-10-06T11:50:39.103 に答える