powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / фильтр пунктов в выпадающем списке на view (asp.net mvc)
1 сообщений из 1, страница 1 из 1
фильтр пунктов в выпадающем списке на view (asp.net mvc)
    #39946256
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! У меня проект asp.net core mvc. И вот такая форма для ввода
данных из списка, который формируется из таблицы в бд.
Код: html
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<form class="col-form-label">


                        <select name="typeid" class="form-control">

                            @foreach (TypeModel tp in Model.GoodTypes)
                            {
                                <option value="@tp.TypeID">@tp.TypeName</option>
                            }
                        </select>
                        

                        <select name="manid" class="form-control">
                            @foreach (ManufModel mm in Model.GoodManuf)
                            {
                                <option value="@mm.ManufID">@mm.ManufacName</option>
                            }
                        </select>
                        

                        <select name="widhtid" class="form-control">
                            @foreach (WidhtModel wm in Model.GoodWidht)
                            {
                                <option value="@wm.WidhtID">@wm.WidhtSize.ToString()</option>
                            }
                        </select>
                        

                        <select name="lengthid" class="form-control">

                            @foreach (LengthModel lm in Model.Goodlengh)
                            {

                                <option value="@lm.LenghtIDSize">@lm.LenghtIDSize </option>

                            }
                        </select>
                        

                        <input type="submit" />
                    </form>


Всего четыре поля. Нужно, что бы при вводе значения в одном из полей, значения в остальных полях фильтровались бы исходя из реальных остатков товара в базе данных. Где можно реализовать данный фильтр? В контроллере? Не будет ли он медленно работать? Может быть есть какой то более красивый способ?
Вот контроллер.
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
 public class HomeController : Controller
    {
        public IActionResult Index(int? typeid, int? manid, int? widhtid, int? lengthid )
        {

            using (Point4Context db = new Point4Context())
            {
                List<ViewGoodsStocksMvc> goodstocks = db.ViewGoodsStocksMvc.ToList();

                List<Types> types = db.Types.ToList();
                List<Manufacturers> manufacturers = db.Manufacturers.ToList();
                List<WidhtSizes> widhtSizes = db.WidhtSizes.ToList();
                List<LenghtSizes> lenghtSizes = db.LenghtSizes.ToList();
                //Список типов
                List<TypeModel> typeModels = types
                    .Select(c => new TypeModel { TypeID = c.TypeId, TypeName = c.Type })
                    .ToList();
                //добавить пустой тип на 1 место
                typeModels.Insert(0, new TypeModel {TypeID = 0, TypeName = "Вид одежды"});
                //список производителей
                List<ManufModel> manModels = manufacturers
                    .Select(c => new ManufModel { ManufID = c.ManufacturerId, ManufacName = c.ManufName })
                    .ToList();
                //добавить пустого производителя на 1 место
                manModels.Insert(0, new ManufModel { ManufID = 0, ManufacName = "Бренд" });
                //Список W
                List<WidhtModel> widhtModels = widhtSizes
                    .Select(c => new WidhtModel { WidhtID = c.WidhtId, WidhtSize = c.Widht })
                    .ToList();
                //пустой W на 1 место
                widhtModels.Insert(0, new WidhtModel { WidhtID = 0, WidhtSize = "Размер" });
                //список L
                List<LengthModel> lengthModels = lenghtSizes
                   .Select(c => new LengthModel { LenghtIDSize = c.LenghtId })
                   .ToList();
                //Пустой L на 1 место
                lengthModels.Insert(0, new LengthModel { LenghtIDSize = 100 });

                IndexViewModel ivm = new IndexViewModel 
                {GoodTypes = typeModels, GoodStock=goodstocks,GoodManuf=manModels, GoodWidht=widhtModels, Goodlengh = lengthModels };
                //если передан ID типа , формируруем список
                if (typeid != null && typeid > 0 && manid != null && manid > 0 && widhtid != null && widhtid > 0 && lengthid != 100)
                {
                    ivm.GoodStock = goodstocks
                    .Where(p => p.TypeId == typeid)
                    .Where(p=> p.ManufacturerId == manid)
                    .Where(p=> p.WidhtId == widhtid)
                    .Where(p=> p.LenghtId== lengthid);
                }
                   
                return View(ivm);
            }

        }
    }    
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / фильтр пунктов в выпадающем списке на view (asp.net mvc)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]