之前在做一个问卷调查的时候,用到了动态生成html表单,个人感觉,html方式虽然原始,但它是万能的解决方法。
生成页查询数据库,然后得到泛型,用stringbuilder 生成html代码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

前台的js 还没做到判断单选和多选,只能判断填空是否填写了,高手指点一下。
input中的value用$符号分割了问题的id和选项id,以便在接受页得到动态生成的问题id。
前台的页中指定post 的接收页
<form id="form1" action="r.aspx" method="post" >
<div runat="server" id="gx">
</div>
</form>
提交的button 我就不写了,在提交前用js判断一下填写情况。
=================下面是接收页=====================

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

具体的逻辑关系判断以及添加数据库,我就不复述了,总体的思路就是这样,根据数据库动态生成的表单,post过来。
接收,因为写入了前缀,所以比较轻松的就获取到了各种不同的表单的值。(因为我数据库存储的时候放在2个表中,填空放入单独的表,单选和多选放在了一个表中,只存选项id和问题id)
在数据库中存储了填写人的ip地址,限制了再次填写的时间,在接收之前判断了一下,这样可以防止将表单另存为网页之后刷表单行为。
第一次发原创的东西,大家见笑了。高手不要板砖伺候就好,大家多提意见。