ASP.NET MVC查找表单字段

时间:2013-08-19 19:43:02

标签: asp.net-mvc forms asp.net-mvc-4

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

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

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

我们的问题/问题:

的推荐方法是什么?

a)打开搜索表单时,以原始格式保存已输入的数据?是否真的有必要在内置IFRAME的jquery对话框中打开搜索表单以保持同一页面而不丢失输入的数据?

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

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

2 个答案:

答案 0 :(得分:1)

我会实现一些新功能,并使用Jquery UI对话框进行搜索和选择。您可以/应该重构现有的搜索系统,以便为此目的支持不同的UI,或者只编写一个新的。

答案 1 :(得分:0)

我看到两种选择:

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

备注

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

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