asp.net mvc поиск и редактирование просмотров - PullRequest
1 голос
/ 20 апреля 2009

Я рассматриваю возможность создания представления, обеспечивающего функции поиска и редактирования на основе ajax. Буду признателен за любые отзывы о структуре, которую я рассматриваю!

Структура будет состоять из Текстовое поле и кнопка поиска Передача кнопки вызывает действие «Поиск», и часть возвращается с - текстовое представление элементов, найденных в именованном div "itemDisplay ##" (## - это идентификатор найденного элемента) - кнопка с именем edit - заполнитель div с идентификатором найденного элемента "itemEdit ##" Когда пользователь нажимает кнопку редактирования, запрашивается частичное представление (Edit.ascx) и заполняется именованный элемент div itemEdit ## Edit.ascx имеет кнопки Сохранить и Отменить.

Успешное сохранение и отмена скрыть div редактирования и отображает оригинальный элементDisplay ## Ошибка при сохранении отображается в файле edit.ascx.

Ответы [ 2 ]

2 голосов
/ 20 апреля 2009

Все это звучит как отдельные действия и, следовательно, не особенно RESTful в своей реализации. Как правило, у меня будет действие List с фильтрацией - эта фильтрация может быть выполнена через AJAX, поскольку то, что она возвращает, в основном то же самое представление. Нажатие на конкретный элемент может привести меня к просмотру деталей - с кнопкой редактирования. Я мог бы также включить кнопку редактирования в список, и в этом случае нажатие на нее привело бы меня к странице сведений в режиме редактирования. Список, просмотр и редактирование будут разными действиями и имеют разные URL-адреса. Нажатие на кнопку списка в View или Edit вернет меня к действию List. Нажатие кнопки «Сохранить» в «Редактировании» вернет меня к представлению для этого элемента - это подтверждает, что элемент был обновлен. Ошибки в Edit отображают представление редактирования с соответствующими сообщениями.

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

0 голосов
/ 20 апреля 2009

Поиск может быть выполнен «Ajax-способом», как вы описываете. Использование одного и того же URL / страницы для редактирования и отображения подробностей приведет к загромождению кода, и, как указано в другом ответе, не очень удобно, поэтому я бы использовал для этого отдельные URL и страницы.

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