Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# MVC Нет элемента ViewData типа "IEnumerable<SelectListItem>" http://www.cyberforum.ru/asp-net-mvc/thread2386336.html
Когда пытаюсь обновить данные в таблице то появляется ошибка System.InvalidOperationException: "Нет элемента ViewData типа "IEnumerable<SelectListItem>", который имеет ключ "department_id"." ...
Как получить изображение, используя Get запрос? C# MVC
Здравствуйте. Вот что есть: public FileResult GetMiniatureScreen() { string url = "https://vcd.selectel.ru/api/vApp/vm-ххх/screen"; HttpWebRequest req =...
Как привязать свой сертификат SSL к приложению SelfHost для использования шифрования TSL? C# MVC
Приветствую! Вопрос в следующем: Делаю самостоятельное приложение (SelfHost) API. С http работает замечательно, но меня это, разумеется, не устраивает. Включил в приложении поддержку https, сделал...
C# MVC Как внести данные в таблицу, автоматически созданную EF? У меня есть два класса моделей: public class Book { public int Id { get; set; } public string BookName { get; set; } public string BookAuthor { get; set; } ... http://www.cyberforum.ru/asp-net-mvc/thread2385200.html
C# MVC Интеграция CMS в готовое ASP.NET приложение http://www.cyberforum.ru/asp-net-mvc/thread2385179.html
1. Каким образом можно внедрить админку CMS в готовое ASP.NET приложение? 2. Какая CMS будет наиболее подходящей для данной операции?
C# MVC List<Student>' does not contain a definition for 'StudentName' and no extension method
Получаю такую ошибку при попытке вывода View: 'List<Student>' does not contain a definition for 'StudentName' and no extension method 'StudentName' accepting a first argument of type 'List<Student>'...
C# MVC Как в выпадающий список вывести данные из БД?
У меня в контроллере создается два выпадающих списка: SelectList students = new SelectList(db.Students, "Id", "StudentName"); SelectList books = new SelectList(db.Books, "Id",...
C# MVC Как во View вывести связанные записи? У меня есть такие классы: public class Book { public int Id { get; set; } public string BookName { get; set; } public string BookAuthor { get; set; } } public... http://www.cyberforum.ru/asp-net-mvc/thread2384885.html
C# MVC Задать имя для DisplayNameFor http://www.cyberforum.ru/asp-net-mvc/thread2384442.html
Как мне задать самому в DisplayNameFor имена для отображения на сайте. Он по умолчанию отображает название полей из базы данных. А мне нужно самому их задать для вывода на сайте. Например: <tr> ...
C# MVC Не могу понять почему с View не контроллер не принимает параметр Разбираю ASP.NET МVC по этом постоянно сталкиваюсь с ошибками разного род... как говорится шишки набиваю) Обычно удается самостоятельно разобраться но в данном случае я что то туплю вообще... 1.... http://www.cyberforum.ru/asp-net-mvc/thread2384226.html
Progerpro
0 / 0 / 0
Регистрация: 28.09.2015
Сообщений: 39
0

DropDownListFor не передает id в контроллер

10.01.2019, 23:11. Просмотров 546. Ответов 1
Метки (Все метки)

У меня реализована динамическая загрузка списка по выбору из другого списка. Но данные из второго (зависящего от первого) списка не передаются в контроллер? Если первый список не изменять а оставить все как есть, и выбирать доступные значения только из второго списка, то данные передаются нормально, но если изменить пункт в первом списке, то при это меняется второй, и уже после этого он не передает speciality_id из второго списка в контроллер, id в контроллере при этом = 0. Я так понял это из-за динамического изменения второго списка, но как решить эту проблему я не знаю. Второй день ищу, не знаю как исправить

Контроллер:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 [HttpGet]
        public ActionResult Edit(int id)
        {
            Students student = db.Students.Find(id);
            if (student == null)
            {
                return HttpNotFound();
            }
            SelectList depart = new SelectList(db.Departments, "id", "Name", selectedValue: student.department_id);
            ViewBag.departments = depart;
            SelectList special = new SelectList(db.Speciality.Where(c => c.IdDepartment == student.department_id), "id", "Name", selectedValue: student.speciality_id);
            ViewBag.specialitys = special;
            return View(student);
        }
 
        [HttpPost]
        public ActionResult Edit(Students student)
        {
            if (ModelState.IsValid)
            {
                db.Entry(student).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return HttpNotFound();
        }
Часть представления с двумя списками:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="form-group">
            @Html.LabelFor(model => model.department_id, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model => model.department_id, ViewBag.departments as SelectList, new { id = "dep", @class = "form-control" })
                @Html.ValidationMessageFor(model => model.department_id, "", new { @class = "text-danger" })
            </div>
        </div>
 
        <div class="form-group">
            @Html.LabelFor(model => model.speciality_id, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model => model.speciality_id, ViewBag.specialitys as SelectList, new { id = "spec", @class = "form-control" })
                @Html.ValidationMessageFor(model => model.speciality_id, "", new { @class = "text-danger" })
            </div>
        </div>
Скрипт который динамически меняет содержимое второго списка:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@section scripts{
    <script type="text/javascript">
        $(function () {
 
            $('#dep').change(function () {
                // получаем выбранный id
                var id = $(this).val();
                $.ajax({
                    type: 'GET',
                    url: '@Url.Action("GetItems")/' + id,
                    success: function (data) {
 
                        // заменяем содержимое присланным частичным представлением
                        $('#spec').replaceWith(data);
                    }
                });
            });
        });
    </script>
}


Вернуться к обсуждению:
DropDownListFor не передает id в контроллер

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2019, 23:11
Готовые ответы и решения:

jQuery autocomplete не передает параметры в контроллер MVC3
Здраствуйте. Прошу вашей помощи. Пытаюсь прикрутить автозаполнение к текстовому пол в...

Выбор элемента в 1 DropDownListFor должен изменить список во 2 DropDownListFor
Добрый день! Плиз, подскажите. У меня есть два списка, как сделать так, чтобы выбор элемента в...

SM контроллер шины, сетевой контроллер и ethernet контроллер
подскажите где скачать sm контроллер шины, сетевой контроллер и ethernet контроллер для делл...

asus K53S -sm контроллер шины -контроллер универсальный последовательной шины USB и с. контроллер
Люди добрые!! помогите пожалуйста найти драйвера на windows 7 32-b -sm контроллер шины...

Зачем нужен контроллер API если есть контроллер MVC?
Вопрос с собеседования. И так, понятно что API контролер ограничен относительно контроллера MVC. Не...

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru