для таких вещей, как настройки, где основное использование для просмотра страницы заключается в ее редактировании, имеет смысл 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>