Как отсутствует элемент ViewData типа 'IEnumerable <SelectListItem>', имеющий ключ 'Customer_id' - PullRequest
0 голосов
/ 23 апреля 2019

Нет элемента ViewData типа IEnumerable<SelectListItem> с ключом "Customer_id".

представление:

@Html.DropDownList("Customer_id", null, htmlAttributes: new 
{ @class = "form-control" })

Контроллер:

        using (JoinEntities db = new JoinEntities())
        {
            db.Orders.Add(order);
            db.SaveChanges();
            int id = order.Customer_id;
        }
        return RedirectToAction("Order");

Выше приведено исключение, как я могу решить эту проблему

1 Ответ

0 голосов
/ 23 апреля 2019

Прежде всего, я могу предложить вам не использовать ViewData или ViewBag в пользу строго типизированных моделей просмотра.Таким образом, вы будете иметь безопасность во время компиляции и вам не понадобится View для обработки любых типов преобразований данных по линии.

Я подозреваю, что ваша проблема заключается в следующем: ViewData содержит ключПары значений ( ViewData ), поэтому в этом случае ваши ViewData должны содержать Key = "Customer_id" со списком идентификаторов клиентов в своем значении, чтобы он мог использовать коллекцию для создания параметров раскрывающегося списка.

// This should be in the Controller action method
var ListOfCustomerIDs = new string [] {"1", "2", "3"};
ViewData["Customer_id"] = ListOfCustomerIDs;

См. Статью MVC DropDownList , для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...