2015-12-02 2 views
0

Я создал приложение ASP.NET MVC. У нас есть список, который показывает все элементы, находящиеся в базе данных. У нас также есть кнопка, в которой отображается всплывающее диалоговое окно, в котором вы можете создать другую запись. Мы хотим добавить этот элемент в список, когда он будет создан. Теперь мой вопрос, что один из следующих способов лучше для этого:Лучшая практика обновления списка на сайте

  • Добавление элемента вручную (с помощью JavaScript) в списке. Меня беспокоит то, что он чувствует себя тихо, халатно/не очень хорошо.

  • Перезагрузка страницы, поэтому все записи перезагружаются из базы данных.

Какой из методов лучше для этой цели с точки зрения производительности и «хорошей практики» (Следует отметить, что этот список будет likley парить вокруг отметки 100-200 пунктов)

Заранее спасибо !

+0

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

ответ

2

Вы можете сделать обратный вызов на сервере, и при успешном выполнении этого обратного вызова вы можете продолжить и добавить этот новый элемент в список. Не нужно обновлять всю страницу.

Нечто подобное (взято из here):

$.ajax({ url: '/Controller/Action/Id', 
    success: function(data) { alert(data); }, 
    statusCode : { 
     404: function(content) { alert('cannot find resource'); }, 
     500: function(content) { alert('internal server error'); } 
    }, 
    error: function(req, status, errorObj) { 
      // handle status === "timeout" 
      // handle other errors 
    } 

});

0

Я бы переиздал список асинхронно. В зависимости от того, как это кодируется, это можно сделать либо с помощью кода на стороне сервера, либо с помощью javascript ajax-вызова.

0

Я хотел бы начать с формы и перезагрузки страницы.

Вы можете добавить возможность отправки формы с помощью ajax, а затем, если форма проходит и проверяет и возвращает сообщение об успешном завершении, добавьте новый элемент в список через javascript.

Таким образом, если кто-то отключает javascript, они все равно могут отправить форму, но они просто получают обновление страницы. Или, если вызов ajax не удался, вы все равно можете прибегнуть к обновлению страницы.

+0

если они отключили javascript, то они не заслуживают того, чтобы быть в Интернете 21 века. – user1666620

+0

Отключение javascript может иметь несколько преимуществ. Такие, как никакие рекламные объявления, а не аналитика, отслеживающие каждое ваше движение, улучшают безопасность, ускоряют работу сайтов, не запуская/обрабатывая javascript. – Martin

+0

Обложка, запрещающая javascript, также нарушит большинство веб-сайтов. Я знаю, что есть инструменты, такие как NoScript, которые предназначены для безопасности, но javascript стал фундаментальной частью современного Интернета и не просто избавиться от него. – user1666620

Смежные вопросы