私はユーザーが何らかの種類のカテゴリを追加し、それらのカテゴリにオプションを追加できるフォームを用意しています。 ユーザーがカテゴリとそのアイテムのデータを入力すると、<select>
に動的に追加されます。カテゴリは<optgroup>
です。そのため、ユーザーがデータを入力した後、ViewModelプロパティにバインドできます。バインド<select>とASP.Net MVCの複数のオプションがあります
<select asp-for="Items">
<optgroup label="Brands">
<option value="Brand1">Brand1</option>
<option value="Brand2">Brand2</option>
<option value="Brand3">Brand3</option>
<option value="Brand4">Brand4</option>
</optgroup>
<optgroup label="Something">
<option value="Something1" selected>Something1</option>
<option value="Something2" selected>Something2</option>
<option value="Something3" selected>Something3</option>
<option value="Something4" selected>Something4</option>
</optgroup>
</select>
それから私は、ビューモデルでItems
プロパティにこれをバインドしようとするが、私はこれをバインドできる唯一の方法は、タイプList<string>
のItems
です。 この方法で、私はそれぞれのオプションが属するグループを失った。 どうすればDictionary<string, List<string>>
のようにバインドして、私がHTMLで行ったグループ化を維持できますか?
PS:選択は表示されません。フォームで送信できる構造でデータを取得する唯一の方法です。プレゼンテーションは何らかのタグで行われます。 ように:
できません。 '
各オプションの 'value =" brand__brandname ""を作成してコントローラ上で扱う以外の方法はありませんか? –
短答 - いいえ –