@Axuaxy

Как реализовать добавление полей dropdownlist и editorfor asp.net mvc?

Добрый день! Вопрос такой. У меня есть блюда и ингредиенты к ним. Таблица продукты, таблица блюда и промежуточная таблица: id блюд и продуктов и количество каждого ингредиента. Во View я добавляю ингредиенты в блюда: я выбираю блюдо, выбираю ингредиент и задаю количество. Вопрос такой как сделать так, чтобы я выбирала блюдо, и задавала любое количество ингредиентов и указанием количества.
Вот View
@model EatMe_5.Models.Ingredient

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>CreateContent</title>
</head>
<body>
    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()

        <div class="form-horizontal">
            <h4>Состав блюда</h4>
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(model => model.IngDish, "Наименование блюда", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownListFor(model => model.IngDish, ViewBag.Dishes as SelectList)
                </div>
            </div>
            <div class="form-group">
                @Html.LabelFor(model => model.IngProduct, "Наименование ингредиента", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownListFor(model => model.IngProduct, ViewBag.Products as SelectList)
                </div>
            </div>


            <div class="form-group">
                @Html.LabelFor(model => model.IngQuantity, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.IngQuantity, "Количество", new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.IngQuantity, "", new { @class = "text-danger" })
                </div>
            </div>

            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }

    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
</body>
</html>


@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}


Вот контроллер
[HttpGet]
        public ActionResult CreateContent()
        {
            SelectList dishes = new SelectList(db.Dishes, "DishID", "DishName");
            ViewBag.Dishes = dishes;
            SelectList products = new SelectList(db.Products, "ProductId", "ProductName");
            ViewBag.Products = products;
            return View();
        }

        [HttpPost]
        public ActionResult CreateContent(Ingredient ingredient)
        {
            //insert
            db.Ingredients.Add(ingredient);
            SaveChanges();
            return RedirectToAction("DishFilter");
        }


если есть необходимость, могу скинуть модель
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы