該工具可就一些主題對訪問者進行詢問,頁面上所有的字(除了按紐上的),全部由數據庫讀出,每個問卷的答案多少隨便增減,也很方便查閱,關鍵代碼如下,如果喜歡的朋友點連接下載全部源文件http://www.survivalescaperooms.com/Files/thcjp/survey.rar
 1//第一步把調查標題和歡迎詞查詢出來
 2                DataTable dt=db.fill("select name,instruc from survey where id="+sid+"");//把數據從數據庫檢索到本地表中來
 3                title.Text=dt.Rows[0]["name"].ToString();//將標題文本設置為本地表中的第一列(如果不喜歡這里是0,那你設成1嘛,我不負責哈,CPU會爆炸的),列名字為name的值
 4                cw.Text=dt.Rows[0]["instruc"].ToString();//這是用戶第一次進來顯示的字
 5                
 6                //第二步有點復雜,各位看官用心看了,前面我們不是放了一個空的panel控件嘛,下面要做的就是把所有的問題給查詢出來,并放到所有需要的控件中,然后再把控件給放到panel里面,這也是這個例題的關鍵所在
 7                DataTable qdt=db.fill("select qid,qlong from question where id="+sid+"");//把問題ID和問題檢索出來放在本地內存表QDT中,備用;
 8                for(int i=0;i<qdt.Rows.Count;i++)//進入代碼段的外層循環,處理調查的每個問題
 9                {
10                    
11                    LiteralControl html=new LiteralControl();//literalControl是一個非常基礎的控件,用與把HTML腳本動態插入到當前頁中去
12                    html.Text=qdt.Rows[i]["qlong"].ToString()+":";//把文字交給新控件
13                    Panel1.Controls.Add(html);//將賦值后的控件加入到panel1中去
14                    
15                    DropDownList ddl=new DropDownList();//聲明一個 dropdownlist 對象
16                    string qid=qdt.Rows[i]["qid"].ToString();//把當前問題的ID保存在臨時變量中
17                    ddl.ID="q"+qid;//給控件加個名字 q 以后,該下拉列表的名字就成了 q1 ,q2這樣的了,你有權利不信,出去看下編譯后網頁的源文件就知道啦
18
19                    DataTable adt=db.fill("select answer from answer where qid="+qid+"");//查詢出所有這個問題的答案
20                    //下面就可以進入代碼的層循環了,負責處理問題的每個答案
21                    for(int j=0;j<adt.Rows.Count;j++)
22                    {
23                        ListItem li=new ListItem();//實例化一個新的數據項,每個答案就直接交給該實例項就OK了
24                        li.Text=adt.Rows[j]["answer"].ToString();//賦值
25                        ddl.Items.Add(li);//放到dropdownlist控件中去
26                    }
27                    Panel1.Controls.Add(ddl);//把DorpDownList控件加入到Panel里面去
28                    LiteralControl html1=new LiteralControl();//最后當然是加個分隔符咯
29                    html1.Text="<p>";//我想不用說了吧
30                    Panel1.Controls.Add(html1);//我想不用說了吧
31                }
新聞熱點
疑難解答