ページが読み込まれるときに正しい値を選択するためのドロップダウンリストを取得しようとしています。DropDownListのasp.netヘルパーが正しくレンダリングされない
@Html.DropDownList("CounterpartyTypeSelect", new SelectList(ViewBag.CounterpartyTypeOptions, "DefaultId", "Value"), new { @class = "selectbox", selected = Model.CounterpartyType })
ただし、ページのレンダリング時には、常にドロップダウンリストの最初の値が選択されます。
ページのHTMLソース:
<select class="selectbox" id="CounterpartyTypeSelect" name="CounterpartyTypeSelect" selected="977980f2-ebb2-4c2a-92c2-4ecdc89b248d">
<option value="5802239e-c601-4f1e-9067-26321213f6e6">Societa per Azioni (SpA)</option>
<option value="f8160341-4a69-436f-9882-4da31a78f1d5">Gesellschaft mit beshrankter Haftung (GmbH)</option>
<option value="977980f2-ebb2-4c2a-92c2-4ecdc89b248d">Sociedad Anonima (SA)</option>
<option value="cdbeb1d3-301b-4884-b65a-612ddd8306f3">Private Limited Company (Ltd)</option>
<option value="1fe68d96-f31b-4859-9869-8c76a5eb1508">Corporation (Inc)</option>
<option value="9c9e5722-ab59-4d1c-a0a3-91b42a3ee721">Limitada (LTDA)</option>
<option value="0cb57339-8705-4e3a-8f6a-95e9664962b7">Public Limited Company (Plc)</option>
<option value="0924d6f1-06a9-49a3-ac05-b3e2686a0e92">Partnership</option>
<option value="c8fbe021-a8f7-4e9d-ab38-dbeb5af5a631">Limited Liability Company (LLC)</option>
<option value="30d9e22b-34f5-43c5-8471-e614dbedb6a6">Aktiengesellschaft(AG)</option>
</select>
あなたはそれが外側のselectタグに代わりのIDと一致するオプションの「選択」属性を入れている見ることができるように。私は別の選択が同じパラメータ(もちろん変数名を除く)を持っており、この方法で正しくレンダリングします。 DropDownListFor<T>
を使用したくないのは、フォームにこの値を実際に送信するHiddenForフィールドと、選択肢の選択肢に一致する値を設定するjavascriptがあるためです。私はデータベースが私が正しく設定した値を格納していることを確認しました。何が起こっている?