首先:我不能在我的标题中使用这个词:问题,所以我使用了表单域。
请耐心等待我的问题/解释我已经拥有的与我需要的:
我需要什么:能够从数据库中动态提取第一组问题,然后根据第一组问题的答案进行回答,然后根据第一组问题的答案显示第二组问题(并且根据对第二组问题的答案,将显示不同的第三组)等等(级别数未设置并且是动态的/可以更改)。
我已经拥有:带有类和 SQL DB 后端的 AC# ASP.NET Web 应用程序。表单上的编程需要一组问题,这些问题被分组在一起,并基于传递给表单的分组,它从数据库中提取动态问题(和可能的答案)(可以有许多不同的问题/答案组和表单chagnes 基于该分组的问题)并在屏幕上显示问题。它还提取问题所需的表单字段类型(文本框、选择、复选框、单选等),并动态构建表单字段,并在需要时为选择/复选框/单选选项添加选项,并为表单添加验证。然后,当用户提交表单时,它会将答案保存到数据库中,并且也可以动态检索分析器。
我也有能力/逻辑让问题具有父/子关系(动态的,没有固定级别的父/子关系)。
我需要的是:要能够使用上面的逻辑/数据库结构,但要显示一组问题,然后根据第一组问题的答案,更改显示的第二组问题。
我可以使用 if/else 和 case 语句轻松地对逻辑进行硬编码,但我需要它是动态的,我想从问题/答案中分离出逻辑/代码,这样我就可以轻松地添加/删除/更新问题树而无需更新任何代码只是数据。
例如:所以问题 1、2、3 显示在第一个表格上。用户回答 1:A、2:A、3:B。根据这些答案显示问题 4、5、9。如果他们回答 1:B、2:A、3:C,则显示问题 4、7、9。此外,某些问题的答案可能不会对显示的下一组答案产生影响。此外,我可能有一个问题存储在数据库中,可以出现在一组问题的第 1 级,但嵌套在第二组问题的第 4 级。所有这些都需要从数据库中动态提取。
我已经拥有了我需要的大部分代码/逻辑/功能,我只需要扩展我已经拥有的内容,以允许我想要拥有的这些附加/新功能集。