首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内嵌编辑与编辑页

内嵌编辑与编辑页
EN

Stack Overflow用户
提问于 2009-09-14 02:49:54
回答 3查看 1.7K关注 0票数 6

当您开发web应用程序时,尤其是那些处理大量数据管理(例如联系人、地址、订单等)的应用程序时,您通常是将界面创建为就地编辑,还是单独创建一个“编辑”页面(以及一个仅用于视图的页面)?

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

EN

回答 3

Stack Overflow用户

发布于 2009-09-14 14:36:06

我认为,当进行更改的“努力成本”相对较低时,内联编辑是有意义的。

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

另一方面,在应用程序中,用户需要通过一个过程得到帮助或指导,或者更改意味着计费/发货/帐户状态发生重大变化。也许有一个单独的页面来帮助他们理解他们行动的全部后果是有意义的。

票数 3
EN

Stack Overflow用户

发布于 2009-09-14 02:55:31

对于像设置这样的设置,查看页面的主要用途是编辑它,内联是有意义的。

在那之后,更多的是关于用法。如果人们不断地编辑它们,那么它应该是内联的。如果它是为了用户的详细信息,其中大部分是读的,有时也是修改的,我就是这样做的:

没有可编辑框就可以查看该页。如果用户希望更改某些信息,则单击“编辑”按钮,显示相同的页面,但使用可编辑字段和“取消/提交”按钮。

实现这一点的方法是让视图根据属性桶中的值来决定要显示的每个字段的版本,该值是由操作(MVC)设置的。

编辑:

所要求的样品(未经测试)

在控制器(城堡单轨)中,假设是CustomerController:

代码语言:javascript
复制
public void View(int customerid)
{
    PropertyBag["customer"] = Customer.Find(customerid);
}

public void Edit(int customerid)
{
    PropertyBag["editing"] = true;
    View(customerid);
    RenderView("View");
}

在视图中(辫子):

代码语言:javascript
复制
<th>Name:</th>
<td>
  <% if IsDefined("editing"): %>
    <input name="c.Name" value="$customer.Name" />
  <% else: %>
    $customer.Name
  <% end %>
</td>
票数 1
EN

Stack Overflow用户

发布于 2009-09-14 13:40:44

我想说的是,当编辑数据是简单而简单的(白痴证明)时,您应该使用就地编辑。对于用户来说,这不应该比在文字处理器中选择文本并在上面输入更复杂。

如果您需要/希望显示标签、说明、错误消息等,则应该使用专用的编辑页面。或者找个聪明的方法在页面上做这件事。

另外,有时您并不能准确地显示用户输入的内容。例如,您显示用户的年龄,但在编辑时显示生日。那么我建议您使用一个编辑页面,因为它可能会使用户感到困惑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1419488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档