在单个页面上设计主/明细表单的推荐方法?

时间:2010-09-22 05:07:54

标签: asp.net user-interface webforms

我有一个包含主详细信息表单/输入布局的网页。目前,表单的工作方式与

类似
  1. 用户打开包含主/明细数据输入控件的页面并输入主信息(禁用详细信息保存按钮)
  2. 当他保存主信息时,将禁用保存主按钮并启用保存详细信息
  3. 用户继续输入多个详细信息,这些详细信息将填入页面底部的网格视图中
  4. 一切正常
  5. 问题是,主要部分包含许多数据输入控件(下拉列表网格视图等)
  6. 如何为当前布局提供更多便利?他进入主记录后是否应该被重定向到新页面?我该如何改进呢?

2 个答案:

答案 0 :(得分:1)

可以有多种选择:

  1. 页面可能会显示详细信息的主要和摘要(gridview)。 “保存”按钮仅适用于主数据。添加/编辑详细信息将在模式弹出窗口中进行。

  2. 有标签视图 - 一个标签会显示主标签,而其他标签会显示详细信息。每个标签将有一个保存按钮。标签切换将在客户端进行。

  3. 始终打开主数据和详细信息进行编辑。任何细节更改都将暂时保存在view-state / session-state中。主服务器的保存按钮将保存主服务器和详细信息的更改。无需禁用任何UI。

  4. 从用户的角度来看,我们通常更喜欢#1 - IMO,简单的用户界面。

答案 1 :(得分:1)

如果用户不需要引用整个主数据来完成详细信息,并且不在多个主人之间导航以查看/编辑他们的详细信息,那么您不需要主 - 详细信息,并且您可以将输入分成两个或多个窗口。详细信息窗口可以重复用户完成详细信息所需的主要字段。

假设有必要将所有内容保存在同一页面上,我认为我认为你可以做的事情很少:

  • 对主文件和细节使用就地编辑,因此编辑/创建记录和空间都不需要空间来显示它。每个字段只应出现一次。

  • 将控件更紧密地打包在一起。如果你采用更安静的视觉风格(例如,丢失反向视频和规则),你可以做到这一点而不会显得太杂乱。每个单行控件分配大约20个垂直像素

  • 采用对象选择操作语法,因此您不需要为每条记录占用空间重复相同的命令按钮/链接。这为田地留下了更多的空间。

  • 使用垂直滚动将表格放在自己的窗格中。您现在拥有的表格已经非常短(5行或更少行),但将它们限制为5个或更少的可见行将使窗口对于存在大量行的情况不会太长。

  • 假设您已就地编辑,请使用更宽的表格,每个表格在自己的窗格中设置水平滚动,以便通过将字段移出“溢出”空格并移入表格来降低高度。确保您的行标题不会滚动。

  • 将字段划分为制表符,尤其是在主页上。这将主人需要的空间减少到一小部分。如果用户需要保持关键字段始终可见,则可以在主服务器的部分中包含选项卡。

  • 在扩展器或辅助窗口中放置主节点或细节内的一些字段,尤其是对于用户不需要与之交互的字段(例如,通常默认值正确的字段)。显示用户在需要与字段交互时未看到的内容的汇总,缩写或摘要。

  • 考虑在主页底部的多行文本框堆栈中使用“分页”界面,以便它们在z维度而不是y维度上“堆叠”,从而占用单个文本框的空间。

  • 考虑使用更紧凑的下拉列表而不是单选按钮,尤其是对于用户不太可能更改的字段(例如,默认值通常是正确的)。下拉列表更多的工作是设置一个值(只需两次点击),但不再需要查看该值,您可以权衡编辑工作与导航工作(滚动,制表单击等)。

  • 考虑将整个母版置于其自己的滚动窗格中,以便在正常窗口大小下始终显示详细信息,并且用户可以将母版滚动到与输入详细信息相关的任何部分。

如果用户告诉你窗口中的所有内容都必须经常被查看,那么你将不得不深入挖掘,优先考虑字段,并进行权衡,因为除非你的客户购买每个人,否则不会发生这种情况。一套大屁股监视器。有些字段将不在视图范围内,即使它只是意味着滚出视图。