动态添加到已使用ViewBag填充的@ Html.DropDownList

时间:2017-01-17 20:46:20

标签: c# asp.net-mvc html.dropdownlistfor viewbag

我有一个@Html.DropDownList,我在控制器中使用ViewBag填充。我想看看是否有可能让下拉列表加载来自控制器的值,但如果需要可以添加一个新值,然后在保存完整记录时保存它。

我的观点包含

 <div class="form-group">
        @Html.LabelFor(model => model.MaterialTypesID, "Material Type", new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("MaterialTypesID", String.Empty)
            @Html.ValidationMessageFor(model => model.MaterialTypesID)
        </div>
    </div>

我的控制器 -

 private void PopulateMaterialTypeList(object selectMaterialType = null)
    {
        string voidInd = "Y";
        var materialType = db.MaterialTypes
            .Where(x => x.VoidInd == voidInd)
            .OrderBy(x => x.MaterialType1);

        ViewBag.MaterialTypesID = new SelectList(materialType, "MaterialTypesID", "MaterialType1", selectMaterialType);
    }

1 个答案:

答案 0 :(得分:0)

我认为使用MaterialTypesID.Items.Insert(0, new ListItem("Text","Value"));会起作用。 Haven没有对它进行测试,但我不知道在填充数据后会阻止你做什么。