2009-09-14 2 views
6

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

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

ответ

1

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

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

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

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

РЕДАКТИРОВАТЬ:

Образец в соответствии с просьбой (непроверенные)

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

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

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

в представлении (Brail):

<th>Name:</th> 
<td> 
    <% if IsDefined("editing"): %> 
    <input name="c.Name" value="$customer.Name" /> 
    <% else: %> 
    $customer.Name 
    <% end %> 
</td> 
+0

Ваш ответ интригует; можете ли вы опубликовать некоторый пример кода, как вы это сделали (ваша последняя часть ответа)?Это было бы очень полезно. Спасибо! – Alex

+0

добавлен образец выше –

0

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

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

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

3

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

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

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