要求必須是純html標簽,單純的html頁面如何提交,傳遞參數,以及對身份的驗證,下面就與大分享下上述一系列是如何實現的,有此需求的朋友可以參考下,希望對大家有所幫助
由于項目需要做一套調查問卷,但客戶要求調查問卷的題目,必須是純html標簽,于是就面臨著一系列的問題
1.頁面如何提交
用戶做完了調查問卷,調查的結果如何提交?
2.如何給頁面傳遞參數
同一個調查問卷,多個人提交后,管理人員查看調查問卷,如何傳遞參數,保證看到的數據是指定某一個人的調查問卷。其實這個問題,在asp.net中使用最簡單的查詢字符串就可以解決,但在純html中,如何傳遞參數?
3.如何驗證用戶身份
在用戶登陸后,才能答卷,如何驗證用戶是否登錄呢?
整個系統都使用html實現?能完成嗎?似乎不行,畢竟提交的數據需要保存到數據庫中,這個恐怕不是純html可以完成的。
所以基本思路就是前臺全部使用html靜態網頁,但后臺卻必須使用csharp代碼配合。
1.頁面如何提交
其實純html可以提交,主要是通過標簽form。
例如如下代碼,在提交到savedata.aspx后,就可以獲得用戶輸入的所有的數據,在進行處理后保存到數據庫,可以通過ajax提交,也可以通過input的 type為submit的標簽提交。
代碼如下:
<input type="submit" value="Submit" />
代碼如下:
<form action="savedata.aspx" method="post">
<p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
2.如何給頁面傳遞參數
在asp.net中給頁面傳遞參數其實最簡單就是通過查詢字符串,但純html了網頁是靜態網頁,沒有對應頁面的后臺,如何傳遞參數
例如同一套問卷,張三,李四都解答了問卷,管理員要查看張三的問卷,如何把張三的答案重新賦值給問卷的試題?
由于html是是靜態頁面,想要讀取數據,就必須通過ajax動態讀取答案,然后再修改靜態頁面。但如何傳遞表示某一個人的參數呢?
其實還是通過查詢字符串,但分析查詢字符串的方法從后臺變為前臺,變成了通過js去分析查詢字符串,然后通過ajax讀取數據。
代碼如下:
function QueryString(name )
{
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是否存在判斷用戶是否登錄以及是否過期等判斷。