Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
Доброго времени суток!
Помогите разобраться.
Есть два списка, второй список должен зависеть от выбора в первом списке.
int selectedTypeLoko = 1;
SelectList typeLoko = new SelectList(db.TypeLokoes, "ID", "tlName", selectedTypeLoko);
ViewBag.TypeLoko = typeLoko;
SelectList numberLoko = new SelectList(db.NumberLokoes.Where(n=>n.tlID == selectedTypeLoko), "ID", "nlName");
ViewBag.NumberLoko = numberLoko;

Есть частичное представление:
public ActionResult GetNumberLoko(int ID)
        {
            return PartialView(db.NumberLokoes.Where(c => c.tlID == ID).ToList());
        }

В основном вьювере код:
$('#tlID').change(function()
        {
            // получаем выбранный id
            var ID = $(this).val();
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetNumberLoko")/' + ID,
                success: function (data) {

                    // заменяем содержимое присланным частичным представлением
                    $('#nlID').replaceWith(data);
                }
            });
        });


Проблема в следующем:
При запуске в первом списке сразу выбран элемент, и во втором списке нужные элементы, выбираю в первом списке другой элемент, во втором списке все поменялось, хорошо, но как только в первом списке я опять выбираю другой элемент, второй список не обновляется. Почему так? :(
31 май 19, 18:09    [21899090]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Если ты таким ректальным способом все делаешь, то тогда уж пользуйся jQuery-евским .load() Второй раз у тебя скорее всего событие не вызывается - проверь это отладчиком (я подозреваю, что по каким-то причинам вместе с обновлением второго списка первый список у тебя тоже пересоздается, и событие уже к нему не привязано).
31 май 19, 19:00    [21899148]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
fkthat
Если ты таким ректальным способом все делаешь

А какой другой способ есть? :)
1 июн 19, 08:18    [21899342]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
Во время отладки в браузере, я вижу что списки формируются, но не отображаются на странице.

К сообщению приложен файл. Размер - 42Kb
1 июн 19, 09:11    [21899355]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Hanuman
А какой другой способ есть? :)

Любой нормальный MVC-фреймворк: Angular, React, Vue и т.п.
1 июн 19, 10:12    [21899377]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
fkthat,
Angular, React, Vue и т.п.
Об этом я конечно почитаю, но как сейчас мне это починить? :)
1 июн 19, 14:53    [21899479]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Hanuman
Об этом я конечно почитаю, но как сейчас мне это починить? :)


Для начала, впиши conlose.log(...) в change, чтобы убедиться, что событие действительно каждый раз вызывается.
1 июн 19, 16:00    [21899506]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
hVostt
Member

Откуда:
Сообщений: 16164
fkthat
MVC-фреймворк: Angular, React, Vue


MVC? ))
2 июн 19, 01:20    [21899673]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
А коль зашла тема про Fngular React и т.п. Что же лучше использовать? Поделитесь опытом :)
2 июн 19, 05:23    [21899700]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
hVostt
fkthat
MVC-фреймворк: Angular, React, Vue


MVC? ))

Да, Model-View-Controller. На клиенте. Который, кстати, появился еще во времена Smalltalk, когда про веб вообще еще не знали. :))
2 июн 19, 07:50    [21899707]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Hanuman
А коль зашла тема про Fngular React и т.п. Что же лучше использовать? Поделитесь опытом :)


Angular - цельный фреймворк. На нем можно полностью слепить приложение не привлекая ничего больше.

React - по сути, не фреймворк, а библиотека для создания web-UI, остальное надо прикручивать (роутинг, ajax, etc.).

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

Есть еще, например, extJs - адова херь, которая лично мне уже, наверное, жизнь на треть укоротила
2 июн 19, 07:58    [21899711]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hexag0v
Member

Откуда:
Сообщений: 26
fkthat
Да, Model-View-Controller. На клиенте. Который, кстати, появился еще во времена Smalltalk, когда про веб вообще еще не знали. :))


Не в React
2 июн 19, 13:14    [21899765]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hexag0v
Member

Откуда:
Сообщений: 26
fkthat
Про Vue особо толком ничего не знаю - смотрел мельком - выглядит симпотично, но пока что смущает то, как его часто преподносят.

По сути, это продолжение AngularJS
2 июн 19, 13:17    [21899767]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
И еще такой вопрос, может быть не по теме, но я его задам :)
Вот есть такой контроллер:
 public ActionResult GetNumberLoko(int tlID, int areaID)
        {
            return PartialView(db.NumberLokoes.Where(c => c.tlID == tlID && c.areaID==areaID).ToList());
        }

то есть я хочу передать например: work/GetNumberLoko/1/2
получается tlID=1 areaID=2
Для этого я создал новый роут:
routes.MapRoute(
            name: "Loko",
            url: "{tlID}/{areaID}",
            defaults: new { controller = "Work", action = "GetNumberLoko" }
            );

Но при переходе по ссылке у меня говорит что данный урл не существует, или введен не правильно, что не так? подскажите :)
2 июн 19, 13:50    [21899784]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hexag0v
Member

Откуда:
Сообщений: 26
Hanuman
Но при переходе по ссылке у меня говорит что данный урл не существует, или введен не правильно, что не так? подскажите :)


api/{controller}/{action}/{tlID}/{areaID}


Как-то так по идее
2 июн 19, 14:28    [21899797]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
Hexag0v,
ага, спасибо, только api лишний. :)
2 июн 19, 15:53    [21899821]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Hanuman
И еще такой вопрос, может быть не по теме, но я его задам :)

По традиции для контроллеров WebApi чаще используют attribute routing.
2 июн 19, 18:37    [21899884]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
fkthat
Member

Откуда:
Сообщений: 1609
Hexag0v
Не в React

Я не великий спец в реакте, но чем реактовский state не подходит под model? MVC это не какой-то строгий паттерн, который единый для всего, у него куча вариаций. В ангуляре, например, контроллер и модель запиханы обычно в один компонент, но это его "не-MVC" не делает. Но, вот уж что точно "не-MVC" - это нагородить на jQuery лапши из обработчиков событий, аджаксовских вызовов и кода обновляещего HTML, а потом пытаться в этом разобраться. jQuery была очень хорошая библиотека для своего времени, но это всего лишь простенькая библиотека для удобной манипуляции с DOM, и пытаться написать на ней хоть немного сложный веб-UI, который сейчас обычно хотят, это как пытаться написать аналог Excel, используя только чистый C и WinAPI.
2 июн 19, 19:07    [21899891]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
hVostt
Member

Откуда:
Сообщений: 16164
fkthat
Да, Model-View-Controller. На клиенте. Который, кстати, появился еще во времена Smalltalk, когда про веб вообще еще не знали. :))


это точно не про React :)
Vue реализует ViewModel в шаблоне MVVM
3 июн 19, 00:41    [21900042]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
Добрый день дорогие друзья! Кто скажет есть хорошие туторилы для новичка по дружбе ASP .NET Core и Angular или ASP .NET и Vue. Интересней конечно VUE.
Пробовал этот вариант : https://metanit.com/sharp/aspnetcore/1.1.php работает, но медлено... Загрузку страницы нужно ждать по минуте...
4 июн 19, 14:27    [21901568]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
Hanuman
Member

Откуда:
Сообщений: 29
https://habr.com/ru/post/350332/ вот вариант в принципе рабочий, но не используется Webpack, это нормальная практика, или лучше использовать Webpack?
4 июн 19, 15:34    [21901630]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка списка по выбору из другого списка  [new]
carrotik
Member

Откуда:
Сообщений: 1428
Hanuman,

...у Vue есть Vuetify, который может поспорить с Бутстрапом (хотя это субъективно) в оформлении + он под Vue делался + он использует Material Design ... но еще раз - это на вкус ...
4 июн 19, 16:33    [21901693]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить