2017-04-04 7 views
0

私はユーザーが何らかの種類のカテゴリを追加し、それらのカテゴリにオプションを追加できるフォームを用意しています。 ユーザーがカテゴリとそのアイテムのデータを入力すると、<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:選択は表示されません。フォームで送信できる構造でデータを取得する唯一の方法です。プレゼンテーションは何らかのタグで行われます。 ように:

enter image description here

+0

できません。 '