首页 > 解决方案 > ASP.NET 和 SQL Server 中的动态表单

问题描述

一些上下文:我目前有一个用作文档搜索器过滤器的表单,有一个下拉列表,其中加载了 SQL Server 表中的数据,当我更改它时,字段会根据类型更改其显示文档。

它的工作原理是我拥有 html 上的所有字段,并通过类确定哪个字段对应于哪个文档类型。因此,每次添加新文档类型时,我都必须编辑 html 以将新类型包含到字段中。

我的问题是:我怎样才能做到这一点,这样我就不需要更改 html 或 js 或 Web 应用程序中的任何代码,而只在每次必须添加新类型的文档时更改 SQL Server?

标签: sqlasp.netsql-server

解决方案


要实现可扩展文档,您可以尝试以下操作:添加新表:

document_type_fields:
id, document_type, field_name, field_type
1, sms, received_date, date
2, sms, content, text(255)
3, email, content, textarea(1000000)
4, email, to_address, text(255)

为了渲染文档字段,找到它的类型,找到文档类型字段:sms:

received_date, date
content, text(255)

添加 javascript 开关 (document_type) 并将其字段显示为 html 控件

将特定于 document_type 的字段保存在单独的表中:

document_specific_fields(document_id, field_name, field_value)

document_id 是引用主表的主键和外键(具有所有文档类型共有的字段):

documents(document_id, document_type, ...)

推荐阅读