для таких вещей, как настройки, где основным видом просмотра страницы является ее редактирование, встроенный имеет смысл.
После этого, это больше об использовании. Если люди постоянно их редактируют, это должно быть просто встроенным. Если речь идет о пользовательских деталях, где они чаще всего читаются и иногда меняются, это то, что я делаю:
Страница просматривается без видимых изменений. Если пользователь хочет изменить некоторую информацию, они нажимают кнопку редактирования Отображается та же самая страница, но с редактируемыми полями и кнопками отмены/отправки.
достичь этого, имея вид принятия решения на основе значения в собственности ведро, какая версия каждого поля, чтобы показать, который задается действием (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>
Ваш ответ интригует; можете ли вы опубликовать некоторый пример кода, как вы это сделали (ваша последняя часть ответа)?Это было бы очень полезно. Спасибо! – Alex
добавлен образец выше –