由於專案需要做一套問卷,但客戶要求問卷的題目,必須是純html標籤,於是就面臨一系列的問題1頁如何提交 使用者做完了問卷,調查的結果如何提交? 2如何給頁面傳遞參數 同一個問卷,多個人提交後,管理人員查看問卷,如何傳遞參數,保證看到的數據是指定某一個人的問卷。其實這個問題,在asp.net中使用最簡單的查詢字串就可以解決,但在純html中,如何傳遞參數? 3如何驗證使用者身分 使用者登陸後,才能答卷,如何驗證使用者是否登入? 整個系統都使用html實作?能完成嗎?似乎不行,畢竟提交的資料需要儲存到資料庫中,這個恐怕不是純html可以完成的。 所以基本想法就是前台全部使用html靜態網頁,但後台卻必須使用csharp程式碼搭配。 1頁如何提交 其實純html可以提交,主要是透過標籤form。 例如以下程式碼,在提交到savedata.aspx後,就可以獲得使用者輸入的所有的數據,在進行處理後保存到資料庫,可以透過ajax提交,也可以透過input的 type為submit的標籤提交。
First name:
在asp.net中給頁面傳遞參數其實最簡單就是透過查詢字串,但純html了網頁是靜態網頁,沒有對應頁面的後台,如何傳遞參數
例如同一套問卷,張三,李四都解答了問卷,管理員要查看張三的問卷,如何把張三的答案重新賦值給問卷的試題? 由於html是是靜態頁面,想要讀取數據,就必須透過ajax動態讀取答案,然後再修改靜態頁面。但如何傳遞表示某一個人的參數呢?
其實還是透過查詢字串,但分析查詢字串的方法從後台變成前台,變成了透過js去分析查詢字串,然後透過ajax讀取資料。
var sURL = window.location.search
var re = new RegExp("" name "=([^&?] )", "ig"); var result= re.exec(sURL ); if(result) { var temp= result[0].split('='); return temp[1] ; } else { return ""; } } 當然還有一種方法,因為讀取資料是要經過後台的,所以可以根據Session中的資訊來取得參數,但如果Session中沒有相關信息,就只能透過查詢字串的方式了。 例如此處的例子,就只能透過查詢字串的方式了。
3如何驗證使用者身分
既然整個系統沒有辦法只是用html完成,前台展示是純html,後台是csharp程式碼,自然也就存在Session,當然也就可以驗證使用者身份了。如果需要判斷靜態的html頁面是否過期,可以透過ajax呼叫後台方法,根據Session是否存在判斷使用者是否登入以及是否過期等判斷。