繁体   English   中英

在Web表单中重复信息-Asp.Net

[英]Repeating Information in a Web Form - Asp.Net

我正在构建一份就业申请表,该表将数据提交给我的公司的数据库。

在创建此表格时,引起我注意的一件事情是,当我创建就业历史部分时,我以为自己,大多数申请人都将在此处输入各种信息,并制定一套必要的信息。过去的3位雇主对于目标潜在客户群是一成不变的。 一些人可能只有一份以前的工作,其他人可能有十份或更多。 另外,为这些信息创建大量字段不仅看起来令人讨厌,而且在数据库开发领域中也是一种不好的做法。 所以...

我想做的是,就像我在Access数据库中所做的一样,是子窗体背后的理论,在该窗体中,当用户开始添加输入数据时,该窗体进行自我复制,从而使另一组数据字段可用次数多达用户需求。 这样,仅存储数据,而不存储空白空间。

尽管在Microsoft Access中这是相当简单的做法,但我发现Asp.Net Web表单和SQL以完全不同的方式处理此过程以实现相同的目标。

我对此主题进行了一些研究,发现有很多方法可以解决此问题,而我发现的大多数事情对于如何解决都非常模糊。 因此,我与您联系。

如何添加一组重复字段来处理以前的工作经验? 为了简单起见,可以说我们有三个字段:“雇主”,“主管”和“工作”。 我们还假设这三个字段的添加将在用户单击并添加按钮之后进行。 为了使这三个字段在asp.net Web表单上重复所需的次数,我需要做什么?

在ASP.NET页中有很多用于重复信息的选项,下面是其中的一篇文章:

ASP.NET中的数据中继器控件

我工作的地方是.NET遗留应用程序,大多数UI都是使用Web窗体构建的。 最近,在我使用AngularJS实现的此应用程序中,我对UI的要求与您相似。

我给出了这个答案,知道它不是纯粹的Web窗体答案,但是它可以在您现有的Web窗体中实现,所以我认为它仍然有效。

构建用于提交JSON数据的控制器(控制器,ApiController甚至是.ashx“通用处理程序”),该数据包含适用于此特定用户提交操作的所有数据。 使用纯html和AngularJS(google'ng-repeat')在此Web窗体页面中构建UI组件。您将看到大量可以应用于您的情况的示例。 这次不要实际使用Web窗体标记。 您的可重复元素应绑定到前端的数据。 当用户单击加号按钮以添加更多工作历史记录时,您将添加到该数据中,并且Angular会重复您想要的块。

将您的新html表单的提交动作挂接到您创建的控制器上(在表单上使用ng-submit指令或在某些Submit元素上使用ng-click指令)。 如果您知道如何处理数据,并且到目前为止已经学到了,则应该从这里开始。 如果您需要更多帮助,我强烈建议您研究REST API和AngularJS。

您越早开始学习如何使用比Web Forms更复杂的工具对前端进行编程,并且越早学习如何使用纯Web技术(Ajax和JavaScript)提交数据,那么您就越早可以从Web窗体框架的范围。 不要误会我的意思,它可以做很多事情,并且可以帮助那些不懂网络的人为网络编程。 最终,当您至少知道如何在需要时走出局限时,您会变得更好。

一种解决方案是在网格中将新字段显示为表单,并且用户可以使用同一表单添加多行数据。类似(+)按钮的操作可以为您做到这一点,只需保存以前的值当用户要求一组新的字段时的表单。

首先,您的数据库将需要进行结构化以允许这样做。 即一个用于保存员工信息的表和另一个用于保存雇用历史的表。 历史记录表将需要具有多对一关系的外键回到Employee表。

至于ASP.NET,您需要查找创建动态控件 您可以使用加号按钮显示一组字段,以添加其他字段,然后将其保存在数据库中的一行中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM