Для привязки динамических данных в DropDownList вы можете сделать следующее:
Создать ViewBag в контроллере, как показано ниже
ViewBag.ContribTypeOptions = yourFunctionValue();
, теперь использовать это значение, как показано ниже:
@Html.DropDownListFor(m => m.ContribType,
new SelectList(@ViewBag.ContribTypeOptions, "ContribId",
"Value", Model.ContribTypeOptions.First().ContribId),
"Select, please")
Я отправляю ответ здесь именно так, любой сталкивается с той же проблемой. То, что происходит с серверами AWS, - то, что, Они отчасти повторно развертывают Ваши коды пару раз день, и это очищает все недавно созданные файлы и загруженные файлы в Вашем проекте. Вот почему необходимо использовать облачное хранилище, если Вы хотите хранить файлы, и то же самое происходит с сессиями. По умолчанию laravel сохраняет сессии в файле и каждый раз, когда AWS повторно развертывают Ваш код, он вытирает всю текущую сессию, потому что он удаляет файл сессии. Решением является хранилище сессии где угодно, но файл. Таким образом, я использовал свою базу данных для хранения сессий и кэша. Можно сделать это
Движение к config/session.php и изменение драйвера к база данных
, После того, как выполнено
, php ремесленный ремесленник session:table
php мигрирует
, Они составят таблицу сессий в базе данных для Вас, и это должно решить проблему AWS. Точно так же, как @arun-a сказано короче говоря. Вы можете контроль эти документы сессий для большего количества информации
Если вы используете балансировщик нагрузки, вы должны сохранять сессию централизованной для доступа через несколько серверов. Поэтому используйте драйвер сессии как базу данных вместо файла и выполняйте связанную миграцию. См. здесь .