asp mvc соответствующее использование ajax - PullRequest
0 голосов
/ 21 июня 2011

Я понял, что многие из моих прошлых проектов пострадали от "слишком много AJAX". Я пишу почти все приложения типа «бизнес» для интрасетей, поэтому доступ к старым браузерам / отключенному javascript / etc никогда не был для меня большой проблемой. Но такие вещи, как неспособность сделать закладку / вернуться / случайные ошибки / тайм-ауты, которые пользователь не видит (я знаю, что есть способы обойти это, но только в качестве примера) ... и больше всего время разработки намного больше ( большая проблема для меня, я - единственный разработчик) для того, что, кажется, не много.

Из опыта людей - когда уместно использовать ajax в бизнес-приложениях / в основном на сайтах типа CRUD?

Возьмите это как пример: у меня есть сетка, отображающая всех зарегистрированных пользователей. Одна из кнопок позволяет перейти к представлению редактирования / сведений, где можно редактировать всю информацию и просматривать дополнительную информацию, не отображаемую в сетке. Вы можете нажать «сохранить», чтобы выполнить ajax-запрос и вернуть либо сообщение об успешном завершении, либо состояние модели с ошибками, преобразованными в JSON, и это отображается в сообщении над кнопкой «сохранить» (с кучей jquery, анализирующих результат). приятно без обновления страницы. У меня есть много много экранов, подобных этому. Будет ли более разумным просто перенаправить обратно в сетку, отображающую всех пользователей после того, как нажата кнопка «сохранить» и успешно (с каким-то «флэш-сообщением» в верхней части указано, что сохранение прошло успешно), пропуская все ajax / json / etc? Как разработчик Мне трудно представить, что будет наиболее целесообразно для конечных пользователей, но просто сделать переадресацию будет гораздо проще и имеет смысл для меня. Каков опыт людей в подобных сценариях?

Ответы [ 2 ]

1 голос
/ 22 июня 2011

В моем приложении, где мне приходится получать много данных от пользователя, которые в основном поступают из основных бизнес-объектов (Сотрудник, Дистрибьютор и т. Д.), Я обычно выбираю путь обычной публикации формы, а не изменяю форму. В основном я использую ajax, когда данные для публикации невелики, и я должен отображать данные на той же странице после сохранения.

Например, на странице просмотра «Сотрудники» у вас может быть небольшая форма для добавления опыта сотруднику, а также вы можете сохранить его через ajax и добавить введенные данные обратно на ту же страницу.

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

1 голос
/ 22 июня 2011

В этом сценарии я бы избегал AJAX все вместе, если у вас нет конкретной причины для этого. Частичное обновление страницы, сохранение места пользователя на странице или другая причина.

MVC хорошо обрабатывает сценарий, который вы описываете, включая сообщения об успехе / неудаче. В этом случае «редактирования» сбоя вы обнаружите сбой на стороне сервера и вернете тот же самый вид редактирования обратно пользователю с информацией о состоянии модели. Все их поля останутся заполненными, и вы легко сможете отображать сообщения проверки. В случае успеха вы вернете свой список или индексное представление и, возможно, будете использовать TempData для отображения сообщения пользователю, указывающего на его успешное редактирование. Небольшой JavaScript, чтобы оживить и удалить сообщение через 10 секунд или около того, и пользовательский опыт очень хорош.

Это становится еще лучше, когда вы добавляете проверку на стороне клиента, что намного проще в MVC3.

Я думаю, что в этом случае вы можете создать очень интуитивно понятный пользовательский интерфейс и избегать использования ajax / json вместе. Я делаю и то, и другое, но у меня есть веские основания, прежде чем я начну писать ajax-код на стороне клиента.

Взгляните на книги Стива Сандерсона MVC. Он идет по этому сценарию в точности так, как вы описали с хорошей детализацией. Его книга MVC3 еще не вышла, и я не читал книгу MVC2, но в оригинальной книге MVC она есть.

http://www.amazon.com/ASP-NET-Framework-Experts-Voice-NET/dp/1430228865/ref=sr_1_4?ie=UTF8&qid=1308745293&sr=8-4

Мне также нравится онлайн-обучение PluralSight, когда я ищу такие базовые рекомендации по фреймворку, как это. http://www.pluralsight -training.net / Microsoft /

Конечно, есть много бесплатных блогов, и не только MVC. Веселитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...