这是一个一般的设计问题:在ASP.NET MVC中如何实现动态(运行时生成)窗体?
这里的情况:
>站点管理员可以使用GUI(MVC视图)定义表单参数(字段,字段类型,验证)。
>根据需要,运行时根据管理员配置为最终用户生成表单。我假设所有这些逻辑将驻留在控制器中 – 或者可能是扩展方法,动作过滤器或类似的东西。
>最终用户填写表单,点击提交,信息在数据库中捕获。
定制不需要支持嵌套控件,第三方控件等,但我怀疑非常优雅的设计将允许这样做。大多数情况下,我只需要管理员才能将其他字段指定为文本框,复选框,单选按钮和组合框。我还需要应用程序为这个数据分配一个空间来保存在数据库中,但我相信我有这个想法。
谢谢您的帮助。
解决方法
在最近的一个项目中我也有同样的需要。我为此创建了一个类库。我刚刚发布了一个新版本的图书馆。
也许它可以帮助你:
ASP.NET MVC Dynamic Forms