Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Якобинец
307 / 17 / 2
Регистрация: 26.01.2013
Сообщений: 346
1

Как правильнее создавать наборы параметров?

09.02.2018, 14:30. Просмотров 286. Ответов 4
Метки нет (Все метки)

Никогда не сталкивался с такими моментами в ASP.net MVC, потому прошу знающих помочь.
В общем, у меня есть PartialView, которое содержит данные по элементу - количество насосов, марка насоса и его характеристики. И параметры выбора могут быть разными. Например, в одном случае у меня может быть от 1 до 3 насосов, а в другом - от 0 до 4. Или, например, если мне известен производитель - мне нужны все марки насосов по производителю.
Вопрос в том, как правильно составить ViewModel?
что-то типа:
C#
1
2
3
4
5
6
7
8
public class PumpGroupVm
{
   public int PumpCount{get;set;}
   public IEnumerable<int> PumpCountAlowedValues{get;set;}
 
   public string PumpType{get;set;}
   public IEnumerable<string> PumpTypeAlowedValues{get;set;}
}
то есть все возможные поля выбора будут содержаться ViewModel

или поставить во ViewModel только те поля, которые я хочу получить на выходе, а все списки поместить во ViewBag?
C#
1
2
3
4
5
public class PumpGroupVm
{
   public int PumpCount{get;set;}
   public string PumpType{get;set;}
}
Или есть какой-то третий, более правильный вариант?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2018, 14:30
Ответы с готовыми решениями:

Как сделать правильнее, чтобы не создавать лишние соединения к БД и не оставлять их надолго открытыми
Подскажите пожалуйста, чтобы не создавать лишние соединения к БД и не оставлять их на долго...

Где правильнее создавать экземпляр класса
Где правильнее создавать экземпляр класса, в классе или в обработчике нажатия кнопки? using...

Как правильнее написать
Пример int ПРОВЕРКА1{ Проверка переменной на свойство; Возврат 1 или 0; } void main(){ ...

Как делать правильнее?
Есть класс, допустим, &quot;Фигура&quot; class Shape { protected: int xpos; int ypos; public: ...

Как правильнее и быстрее?
Как правильнее будет? Так: SELECT ID, NAME_USR, dbo.GetNameDistr(NAME_USR) AS NAME_DISTR, RIC,...

4
kingzfate
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 833
Завершенные тесты: 1
09.02.2018, 14:35 2
Якобинец, какая то странная у вам модель, по идее надо создать одну единую для всех видов, а фильтровать уже в контроллере по переданным вами параметрам
0
Якобинец
307 / 17 / 2
Регистрация: 26.01.2013
Сообщений: 346
09.02.2018, 14:38  [ТС] 3
Мне на выходе нужно только то, что содержится во втором примере.
Но чтобы сформировать View с предложением возможных вариантов выбора (0-4 в одном случае, 1-3 в другом), нужны дополнительные сведения. Вот и вопрос, куда контроллер должен их помещать? В поля ViewModel, или во ViewBag?
0
kingzfate
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 833
Завершенные тесты: 1
09.02.2018, 14:42 4
Якобинец, так при чем тут модель, если заданные вами фильтры уйдут в контроллер, там обработаются, так как вы хотите и вернется та модель которая вам нужна
0
Якобинец
307 / 17 / 2
Регистрация: 26.01.2013
Сообщений: 346
09.02.2018, 14:50  [ТС] 5
Это скорее не фильтры, а возможные параметры. И они не для контроллера, а для выбора во View.
Например, я сформировал PartialView с возможностью выбора насосов таких-то типов и количества насосов от 0 до 2.
А на выходе (в контроллере) мне интересно только количество насосов и имя насоса.
Вот и вопрос - куда ставить перед формированием View разрешённые данные - добавлять в модель, или во ViewBag
0
09.02.2018, 14:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2018, 14:50

Перерисовка, как правильнее?
какое условие правильнее использовать если нужно перерисовывать визуализацию, если перетащить...

Как правильнее сделать?
Как правильно сделать: сначала создать интерфейс программы(формы , фреймы , кнопки и т. д.) или...

Как правильнее управлять звуком!
Кто подскажет самый простой и надежный вариант постановки трека в кольцевом режиме на сайт....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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