Редактирование на месте и страница редактирования - PullRequest
6 голосов
/ 14 сентября 2009

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

Почему / В чем преимущество одного над другим? Я пытаюсь принять решение о своем собственном проекте, который имеет такое управление данными, и я не уверен, каким путем идти.

Ответы [ 3 ]

3 голосов
/ 14 сентября 2009

Я думаю, что встроенное редактирование имеет смысл, когда затраты на внесение изменений относительно невелики.

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

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

1 голос
/ 14 сентября 2009

для таких вещей, как настройки, где основное использование для просмотра страницы заключается в ее редактировании, имеет смысл inline.

После этого это больше об использовании. Если люди постоянно их редактируют, то это должно быть просто встроено. Если это, скажем, пользовательские данные, где они в основном читаются, а иногда и меняются, это то, что я делаю:

Страница просматривается без редактируемых полей. Если пользователь хочет изменить некоторую информацию, он нажимает кнопку редактирования Отображается та же страница, но с редактируемыми полями и кнопками отмены / отправки.

Это достигается благодаря тому, что представление решает на основе значения в области свойств, какую версию каждого поля показывать, которая задается действием (MVC)

EDIT:

Образец по запросу (не проверено)

В контроллере (монорельс замка), скажем, CustomerController:

public void View(int customerid)
{
    PropertyBag["customer"] = Customer.Find(customerid);
}

public void Edit(int customerid)
{
    PropertyBag["editing"] = true;
    View(customerid);
    RenderView("View");
}

в представлении (брайль):

<th>Name:</th>
<td>
  <% if IsDefined("editing"): %>
    <input name="c.Name" value="$customer.Name" />
  <% else: %>
    $customer.Name
  <% end %>
</td>
0 голосов
/ 14 сентября 2009

Я бы сказал, что вы должны использовать редактирование на месте, когда редактирование данных является простым и простым (защищенным от идиота). Для пользователя это должно быть не сложнее, чем выделять текст в текстовом процессоре и печатать поверх него.

Если вам нужно / хотите показывать ярлыки, инструкции, сообщения об ошибках и т. Д., Вам, вероятно, следует использовать специальную страницу редактирования. Или найдите умный способ сделать это на странице.

Кроме того, иногда вы не показываете, что именно введено пользователем. Например, вы показываете возраст пользователя, но при редактировании показывает дату рождения. Тогда я бы посоветовал вам использовать страницу редактирования, поскольку она может ввести пользователя в заблуждение.

...