При добавлении данных из @ Html.DropDownListFor в MVC ViewBag сбрасывается в ноль

Моя цель - добавить магазин и дать ему категорию, которую я добавлю. Для этого я использую базу данных в качестве модели прав доступа к данным ADO.NET и следующим образом;

-> Таблица DUKKAN (DukkanID,DukkanAd,idID(отношение идентификатора таблицы ILLER),ilceID(отношение идентификатора таблицы ILCELER),KategoriID(отношение KategoriID таблицы KATEGORI)

-> ILCELER Table (id, ilce, sehir)

-> ILLER Table (id, sehir)

-> Таблица КАТЕГОРИ (KategoriID, KategoriAd)

DUKKANController-х

//GET:Dukkan/Create
public ActionResult Create()
{
            List<SelectListItem> ktg = (from a in dbmodel.KATEGORI.ToList()
                                        select new SelectListItem
                                        {
                                            Text = a.KategoriAd,
                                            Value = a.KategoriID.ToString()
                                        }).ToList();
            ViewBag.Kategoriler = ktg;
            List<SelectListItem> iller = (from a in dbmodel.ILLER.ToList()
                                          select new SelectListItem
                                          {
                                              Text = a.sehir,
                                              Value = a.id.ToString()
                                          }).ToList();
            ViewBag.Iller = iller;
            List<SelectListItem> ilceler = (from a in dbmodel.ILCELER.ToList()
                                            select new SelectListItem
                                            {
                                                Text = a.ilce,
                                                Value = a.id.ToString()
                                            }).ToList();
            ViewBag.Ilceler = ilceler;
            return View();

}

и это мнение;

@model DATABASENAME.Models.DUKKAN

@{
    ViewBag.Title = "Create";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("Create", "Dukkan", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal well">
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })


        <div class="form-group">
            @Html.LabelFor(model => model.KategoriID, "Kategori Seçiniz", htmlAttributes: new { @style = "text-align:left", @class = "control-label col-md-3" })
            <div class="col-md-9">
                @Html.DropDownListFor(model => model.KategoriID, ViewBag.Kategoriler as IEnumerable<SelectListItem>, htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.KategoriID, "", new { @class = "text-danger" })
            </div>
        </div>

<input type="submit" value="Create Shop" class="btn btn-primary form-control" />

    </div>
}

Мои данные обычно извлекаются из таблицы классификации и отображаются. После нажатия кнопки "Создать магазин"

InvalidOperationException не был обработан кодом пользователя
Исключение типа "System.InvalidOperationException" произошло в System.Web.Mvc.dll, но не было обработано в коде пользователя
Дополнительная информация: Нет элемента ViewData типа "IEnumerable", который имеет ключ "KategoriID". Я получаю ошибку как
Когда я нажимаю "продолжить" в сообщении об ошибке и когда я нахожу указатель мыши на ViewBag.Kategoriler на странице View.cshtml, внутренняя часть выглядит "нулевой".

0 ответов

Другие вопросы по тегам