就地编辑与编辑页面

Ale*_*lex 6 application-design inplace-editing

当您开发Web应用程序,特别是那些处理大量数据管理的应用程序(例如联系人,地址,订单等)时,您是否通常将该界面创建为就地编辑或创建单独的"编辑"页面(和一个只查看的页面)?

为什么/一个优于另一个的优势是什么?我正在尝试对自己的项目做出决定,该项目有这样的数据管理,我不知道该走哪条路.

Luk*_*fer 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");
}
Run Code Online (Sandbox Code Playgroud)

在视图中(brarail):

<th>Name:</th>
<td>
  <% if IsDefined("editing"): %>
    <input name="c.Name" value="$customer.Name" />
  <% else: %>
    $customer.Name
  <% end %>
</td>
Run Code Online (Sandbox Code Playgroud)