#jquery #asp.net-mvc #asp.net-ajax
#jquery #asp.net-mvc #asp.net-ajax
Вопрос:
Я создаю приложение, которое будет работать с телевизором, и оно будет обновляться каждые X секунд.
Это фиксированное время, и мне не понадобится никакого вызова, поскольку мое приложение получит обновленные данные и просто поместит их для пользователя в таблицу.
Я искал и нашел очень много решений, и я хотел бы узнать лучшее для моего случая, поскольку оно выглядит довольно просто.
В качестве телевизора у меня будет фиксированная таблица (без циклов), поэтому мне нужно будет адресовать значения конкретным TDS таблиц. Идея объекта, который я отправлю в представление, выглядит примерно так:
List<Fields> ResultList = new List<Fields>()
{ new Fields { Field1 = 123, Field2 = "ABC"},
new Fields { Field1 = 456, Field2 = "DEF"}};
В моем частичном представлении будет таблица с фиксированным количеством строк, и я буду заполнять их данными, поступающими из представления.
<table>
<tr>
<td id='row1a'></td>
<td id='row1b'></td>
</tr>
<tr>
<td id='row2a'></td>
<td id='row2b'></td>
</tr>
<tr>
<td id='row3a'></td>
<td id='row3b'></td>
</tr>
</table>
Мне нужно обратиться Field1
к rowXa
и Field2
к rowXb
Я никогда ничего не делал ни с ajax, ни с jquery для его выполнения, и поэтому я полностью запутался в этом. Мое приложение уже собирает данные, упорядочивая все так, как я хочу. На данный момент мне нужно правильно обращаться к конкретным полям и не иметь для этого отправной точки.
Заранее спасибо
Ответ №1:
Мне кажется, что проще всего использовать решение «вытащить»:
- установите таймер в JavaScript
- Используйте это, чтобы запустить Ajax-вызов вашего контроллера, который вернет частичное представление в виде HTML
- частичное представление — это то, которое сгенерировало таблицу в первую очередь
- замените таблицу возвращенным HTML
Другой вариант — использовать таймер для опроса измененных значений и обновлять только отдельные строки в таблице для измененных данных.
Выбор будет зависеть от количества строк в таблице.
Обновить
Следуя приведенной ниже информации, я бы начал с самого простого решения и рассматривал другие варианты только в том случае, если есть какие-либо проблемы с отображением или синхронизацией. Установив идентификаторы строк и ячеек, было бы довольно просто просто обновить отдельные ячейки, но это может быть чрезмерным.
Вы также можете выполнить обновление таблицы, последовательно заменяя каждую строку, что может дать более статичный вид.
Комментарии:
1. Спасибо за ответ. Таблица короткая (не может иметь полосу прокрутки), но каждый TD отображается (около 120 полей)
2. Какова вероятная частота изменения данных и насколько важно иметь «быстрые» обновления?
3. Каждые 1-2 минуты.. не более того.
4. Не могли бы вы указать, нашли ли вы ответ полезным или нет. Есть ли дополнительная информация, которая вам нужна. Пожалуйста, оставьте отзыв.