При добавлении данных из @ 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, внутренняя часть выглядит "нулевой".