就地编辑与编辑页面

时间:2009-09-14 02:49:55

标签: application-design inplace-editing

当您开发Web应用程序时,尤其是处理大量数据管理的应用程序(例如联系人,地址,订单等)时,您通常会将界面创建为就地编辑或者制作一个单独的“编辑”页面(和一个仅查看页面)?

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

3 个答案:

答案 0 :(得分:3)

我认为在进行更改的“成本降低”相对较低时,内联编辑才有意义。

例如,更改照片上的描述非常容易,如果不完全正确则风险很小,并且用户希望在他们正在编辑的图片的上下文中做到这一点。在这种情况下,内联对我来说很有意义。

另一方面,在用户需要通过流程帮助或引导的应用程序中,或者更改意味着计费/运输/帐户状态的重大变化。有一个单独的页面可以帮助他们理解他们行为的全部后果。

答案 1 :(得分: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>

答案 2 :(得分:0)

我想说在编辑数据时你应该使用就地编辑是简单明了的(防止白痴)。对于用户来说,选择文字处理器中的文本并对其进行输入并不复杂。

如果您需要/想要显示标签,说明,错误消息等,您应该使用专用的编辑页面。或者在页面中找到一种巧妙的方法。

此外,有时您无法准确显示用户输入的内容。例如,您显示用户的年龄,但在编辑时显示生日。然后我建议您使用编辑页面,因为可能会让用户感到困惑。