Нужна ли приложению mvc 4 другая модель для возврата совокупных данных в существующей таблице и модели?

У меня есть таблица (и модель) со следующими свойствами в приложении asp.net MVC 4:

ТВ Стол

высота ширина глубина тип марка стоимость

Когда пользователь отвечает на вопрос о пространстве, которое у него есть для телевизора, я затем делаю вызов ajax, чтобы определить, какие типы можно вписать в указанное пространство. Какой тип телевизора им нужен, это следующий вопрос, поэтому некоторые параметры, возможно, придется отключить. SQL для того, какие типы помещаются в пространство, таков: «выбрать отдельный тип из TV, где высота ‹ @высота и ширина ‹ @ширина и глубина ‹ @глубина». Должен ли я: 1. создать новую модель, которую я вызываю из контроллера телевизора, просто для возврата различных типов 2. добавить в модель телевизора метод, который я вызываю из контроллера телевизора, который просто возвращает список строк с подходящими типами


person Sven Erikson    schedule 10.09.2013    source источник


Ответы (1)


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

  1. Если вы хотите отобразить название телевизора + его описание, то имеет смысл вернуть список моделей телевизоров.

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

Вызов нового действия имеет смысл в обоих случаях ИМХО.

ИЗМЕНИТЬ:

Для 2 - я хочу вернуть список строк - должен ли я создать для этого новую модель данных или добавить метод в существующую модель данных ТВ, который возвращает список строк?

Чтобы расширить приведенный выше запрос, поскольку он не ясен (по крайней мере, я не представляю его) из вашего вопроса, я предполагаю несколько вещей.

Случай 1: вы показываете пользователю представление TVSelection, которое не содержит списка TVModels. В этом представлении вы ожидаете, что пользователь введет три значения, т. е. ширину, высоту и глубину. Теперь, когда пользователь вводит эти значения, он может отправить форму, или вы также можете получить список названий телевизионных брендов в событии «Потерянный фокус». В любом случае вопрос будет заключаться в том, обновляете ли вы существующее представление, заполняя поле со списком, или вы отображаете новое представление. Я предполагаю, что вы обновляете существующее представление «TVSelection» с помощью вызова AJAX. В этом случае вы можете просто вызвать метод на своем контроллере (который отображал представление «TVSelection»), который возвращает список названий брендов телевизоров.

Случай 2: вы отображаете представление «TVSelection», в котором уже есть список объектов TVModel, и вы динамически обновляете его при выборе требуемого поля (фильтрация). В этом случае вы можете добавить метод в сам TVModel для фильтрации только тех имен, которые соответствуют выбору пользователя.

Я нашел эти ссылки релевантными 1 и 2.

Надеюсь, это имеет смысл.

Пожалуйста, добавьте больше деталей к вашему вопросу, если это не отвечает на ваш вопрос.

person SBirthare    schedule 10.09.2013
comment
Для 2 - я хочу вернуть список строк - должен ли я создать для этого новую модель данных или добавить метод в существующую модель данных ТВ, который возвращает список строк? - person Sven Erikson; 11.09.2013
comment
@SvenErikson: я не уверен, что полностью понимаю вашу ситуацию, однако я обновил ответ, сделав несколько предположений. На всякий случай поможет. - person SBirthare; 11.09.2013