当您开发Web应用程序时,尤其是处理大量数据管理的应用程序(例如联系人,地址,订单等)时,您通常会将界面创建为就地编辑或者制作一个单独的“编辑”页面(和一个仅查看页面)?
为什么/一个优于另一个的优势是什么?我正在尝试对自己的项目做出决定,该项目有这样的数据管理,我不知道该走哪条路。
答案 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)
我想说在编辑数据时你应该使用就地编辑是简单明了的(防止白痴)。对于用户来说,选择文字处理器中的文本并对其进行输入并不复杂。
如果您需要/想要显示标签,说明,错误消息等,您应该使用专用的编辑页面。或者在页面中找到一种巧妙的方法。
此外,有时您无法准确显示用户输入的内容。例如,您显示用户的年龄,但在编辑时显示生日。然后我建议您使用编辑页面,因为可能会让用户感到困惑。