2016-12-02 6 views
1

При попытке создать мой сайт как динамический и с максимально возможной перезагрузкой страниц, я получил удовольствие от использования частичных представлений с AJAX - перезагрузкой или обновлением части страницы с помощью AJAX GET или POST. Однако (новичок в MVC в целом) я начал задаваться вопросом - это правильный подход.Правильное использование частичных представлений в MVC

Say есть данный сценарий:

У меня есть таблица, на этом столе у ​​меня есть кнопка «View Details». Когда пользователь нажимает на эту кнопку, я хочу получить информацию с сервера и отобразить ее в модальном окне.

я мог бы сделать одно из следующих действий:

  • Создать Подробности Частичный вид из модели, выполнить AJAX GET для извлечения формы из него на кнопку мыши и поместите его в модальном окне.
  • Создайте действие, которое возвращает JSON с необходимой информацией, используйте AJAX, чтобы получить его и заполнить его модальной формой.

Какой подход был бы правильным?

ответ

1

Я всегда использую частичные виды с действиями AJAX. Давайте будем честными - я не знаю, какой большой HTML вы должны вернуться, чтобы начать думать о производительности бэкэнд.

Пожалуйста, помните, что в обоих случаях вы будете возвращать текст - либо HTML, либо JSON. Но такая же производительность необходима для получения этих значений из базы данных (или из любого места, где вы их получаете).

Более того - конкатенация строк и создание HTML из этого интерфейса не являются базовым подходом и должны использоваться только в действительно особых местах.

1

Ваш вопрос на самом деле основан на мнениях. Но я могу сказать, что это зависит от ситуации.

Если у вас есть высокая производительность BackEnd - лучше визуализировать свой вид на контроллере и возвращать html. Это лучший вариант, если вы работаете с старыми браузерами, например, с IE 8.

Если у вас нет High Perfomance BACKEND - вы можете вернуть json или xml, а затем использовать JS шаблоны, чтобы Makup, что вам нужно.

+1

Не забывайте, что «высокая производительность» также зависит от нагрузки пользователя. Кроме того, есть также кэширование, которое необходимо учитывать, в том числе варьируя по параметрам. Мало того, что это мнение основано, оно также слишком велико. – krillgar

+1

@krillgar Я имел в виду каждое его слово –