There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'MessageCategoryID'

43 Views Asked by At

I am getting error: There is no ViewData item of type 'IEnumerable' that has the key 'MessageCategoryID'while sending post request to server. The data is not being added to database. I'm using dropdownlistfor.

Controller

public async Task<IActionResult> Index()
        {
            var client = _httpClientFactory.CreateClient();
            var responseMessage = await client.GetAsync("http://localhost:5173/api/MessageCategory");

            var jsonData = await responseMessage.Content.ReadAsStringAsync();
            var values = JsonConvert.DeserializeObject<List<ResultMessageCategoryDto>>(jsonData);

            List<SelectListItem> values2 = (from x in values
                                            select new SelectListItem
                                            {
                                                Text = x.MessageCategoryName,
                                                Value = x.MessageCategoryID.ToString()
                                            }).ToList();
            ViewBag.v = values2;
            return View();

        }

View

@Html.DropDownListFor(x => x.MessageCategoryID, (List<SelectListItem>)ViewBag.v, new {@class = "form-control"})
0

There are 0 best solutions below