10

SelectList と選択を保存するフィールドを提供する List から DropDownLists を動的に作成したいと考えています。

public class ViewModel
{
    public List<Material_Select> materialSelect { get; set; }
}

public class Material_Select
{
    public SelectList selectList { get; set; }
    public int MaterialId { get; set; }
}

ビューでは、materialSelect リストをループして、DropDownLists を動的に作成したいと考えています。

このようなもの:

int count = 0;
foreach (var item in Model.materialSelect)
{
    count++;
    <div class="editor-label">
        @Html.LabelFor(model => model.materialSelect)
    </div>
    <div class="editor-field">
        @Html.DropDownListFor(item.MaterialId, item.selectList)
    </div>       
}

HttpPost ActionResult で、選択した値を取得する必要があります。これを解決する方法を知っている人はいますか?

4

2 に答える 2

5

count が 0 から始まり、アクション ポスト メソッドが ViewModel タイプのパラメーターを受け取ると仮定すると、各ドロップダウンの MaterialId をバインドするためにこれを試すことができます。

foreach (var item in Model.materialSelect)
{
    count++;
    <div class="editor-label">
       Name for de dropdown
    </div>
    <div class="editor-field">
        @Html.DropDownList("materialSelect[" + count + "].MaterialId ", item.selectList)
        @Html.ValidationMessageFor(model => model.gradationId)
    </div>       
}
于 2013-04-16T10:37:44.090 に答える