Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 28.07.2021
Сообщений: 16

Связанный DropdownListFor asp.net mvc framework

09.03.2022, 09:31. Показов 1212. Ответов 1

Студворк — интернет-сервис помощи студентам
Всем привет, у меня есть 2 связанных списка: 1 - список авто, 2 - исходя из того какое авто выбрано выводится модель. Вывожу связанный список в представлении подобным образом:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <div class="form-group">
            @Html.LabelFor(model => model.CarId, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model=>model.CarId, ViewBag.Autos as SelectList, new { id = "NameAuto", @class = "chosen", @style = "width: 285px;" })
                @Html.ValidationMessageFor(model => model.CarId, "", new { @class = "text-danger" })
            </div>
        </div>
         <div class="form-group">
            @Html.LabelFor(model => model.ModelCar, htmlAttributes: new { @class = "control-label col-md-2" })
             <div class="col-md-10">
                 @Html.DropDownListFor(model=>model.ModelAutoId, ViewBag.ModelAutos as SelectList, new { id = "ModelAuto" })
                 @Html.ValidationMessageFor(model => model.ModelCar, "", new { @class = "text-danger" })
             </div>
        </div>
Так же использую в представлении ajax, код данный:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <script type="text/javascript">
    $(function () {
 
        $('#NameAuto').change(function()
        {
            // получаем выбранный id
            var id = $(this).val();
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetItems")/' + id,
                success: function (data) {
 
                    // заменяем содержимое присланным частичным представлением
                    $('#ModelAuto').replaceWith(data);
                }
            });
        });
    })
    </script>
В контроллере делаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public ActionResult GetItems(int id)
        {
            return PartialView(context.ModelAutoes.Where(x=>x.CarId == id).ToList());
        }
        [Authorize]
        public ActionResult RegisterAuto()
        {
                int selectAuto = 1;
                SelectList autos = new SelectList(context.Cars, "Id", "NameAuto", selectAuto);
                ViewBag.PaymentMethodType = new SelectList(this.context.PaymentMethods, "Id", "PrepaymentType");
                ViewBag.Autos = autos;
                SelectList models = new SelectList(context.ModelAutoes.Where(x=>x.CarId == selectAuto), "Id", "NameAutoModel");
                ViewBag.ModelAutos = models;
                return View();
        }
Так же частичное представление для вывода связанного списка GetItems:
HTML5
1
2
3
4
5
6
7
@model IEnumerable<WP1.Models.ModelAuto>
<select id="ModelAuto" name="ModelAuto">
    @foreach (var item in Model)
    {
        <option value="@item.Id">@item.NameAutoModel</option>
    }
</select>
Проблема в том, что при записи в бд всех данных, CarId корректно записывается в бд, но у ModelAutoId приходит значение как null, то есть ничего не записывается. Можете подсказать в чем проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2022, 09:31
Ответы с готовыми решениями:

ASP.NET MVC 4,ASP.NET MVC 4.5 и ASP.NET MVC 5 большая ли разница между ними?
Начал во всю осваивать технологию,теперь хочу с книжкой посидеть и вдумчиво перебрать всё то что увидел,услышал и набил...в общем какую...

asp.net mvc entity framework условия
Такой вопрос На C# я использовал класс SQLiteConnection myConnection = new SQLiteConnection(Connect); ...

MembershipProvider для ASP.NET MVC 3 + Entity Framework ?
Снова здравствуйте!:) Есть интернет-магазин, под него создана БД, которая хранит всю информацию о магазине(товары, заказы и т.д.). Так...

1
3 / 3 / 1
Регистрация: 19.05.2019
Сообщений: 180
28.03.2022, 14:03
Я конечно не вижу где ты в бд записываешь что, но раз у тебя приходит значение нул , то наверное ты на поле id используешь строки , а так нельзя, можно только тип инт или составной ключ.

Добавлено через 55 минут
Цитата Сообщение от ДЛ имончик Посмотреть сообщение
Я конечно не вижу где ты в бд записываешь что
Тебе стоит это показать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2022, 14:03
Помогаю со студенческими работами здесь

Связь 1 к многим в приложении Entity Framework ASP.NET MVC 5
Пишу веб-приложения и нужно сделать связь 1 к многим, но это поле может быть не заполнение. И тут и появляется проблема при добавлении...

Стоит ли изучать asp.net mvc 4 из за скорого выхода asn.net mvc vNext ?
Доброго вечера! Как я узнал, Microsoft скоро планирует выпустить новый веб-фреймворк с названием vNext который позиционируется как...

Как переделать проект ASP.NET WebForms в ASP.NET MVC 5
Есть маленький проектик, который я выращиваю. Началось всё с ASP.NET 4 WebForms (.Net Framework 4.6.1, среда разработки MS VS 2017). ...

Стоит ли изучать ASP.NET MVC 4 не зная просто ASP.NET?
Стоит ли сразу изучать ASP.NET MVC не зная просто ASP.NET? И еще вопрос: мне нужно освоить MVC 4, но по нему не так много учебного...

Код в @Html.DropDownListFor не имеет доступа к ASP.NET сессии. Почему?
Привет. В .cshtml файле у меня есть следующий код для @Html.DropDownListFor хелпера: @Html.DropDownListFor(model =&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru