3

我们有一个基于 ASP.NET MVC 的业务表单,需要填写多个文本框(例如,用例是“注册人员”-> 表单包含:姓名,...,父亲,母亲,... )

数据录入员不应该被强迫自己输入父亲/母亲,他应该能够在系统中搜索到这个人。拥有某种自动完成字段或弹出窗口是不够的,他应该能够利用我们已经实现的完整搜索页面(Person 控制器具有 SearchIndex 和 SearchPerson 操作,用户具有各种搜索选项)。

最终的 UI 应该如下所示: 注册人员表单有一个“选择父亲”按钮,该按钮将 UI 切换到搜索页面,用户搜索人员并能够在结果表中的一行上单击“选择”,返回UI 回到注册人表单,父亲数据现在填充到只读字段中(隐藏的 ID、姓名和出生日期可见但不可编辑)。

我们的问题/问题:推荐的方法是什么

a) 打开搜索表单时将已输入的数据保存在原始表单中?是否真的有必要在带有 IFRAME 的 jquery 对话框中打开搜索表单以保持在同一页面上并且不会丢失输入的数据?

b) 如何将选定的 ID 返回到原始表单并预填充只读文本框?

我希望您知道我们要达到的目标,否则请发表评论,我会澄清问题。

4

2 回答 2

1

我会实现一些新的东西并使用 Jquery UI Dialog 来进行搜索和选择。您可以/应该重构现有的搜索系统以支持不同的 UI 来实现这个目的,或者只是编写一个新的。

于 2013-08-19T20:49:28.027 回答
0

我看到两种选择:

  • 您可以利用客户端技术。您可以使用搜索人员操作结果打开模式或填充 div。一旦用户找到父亲,您可以将该数据移动到相应的容器(只读文本字段)并关闭搜索容器。
  • 你可以做所有的服务器端。您始终可以使用 session 来存储用户已经键入的数据,将用户带到搜索视图,一旦用户选择了父亲,您就可以使用父亲数据填充 session 中存储的信息。初始表单可以查看该会话变量/对象以填充输入字段(如果它们可用)。

备注

  • 您可以随时根据需要组合客户端/服务器端技术。

  • 您可以按照建议使用会话,但任何其他临时数据的存储机制都可以完成这项工作(键值存储:Redis?文档数据库等)。

于 2013-08-19T19:54:59.310 回答