要求必須是純html標(biāo)簽,單純的html頁(yè)面如何提交,傳遞參數(shù),以及對(duì)身份的驗(yàn)證,下面就與大分享下上述一系列是如何實(shí)現(xiàn)的,有此需求的朋友可以參考下,希望對(duì)大家有所幫助
由于項(xiàng)目需要做一套調(diào)查問(wèn)卷,但客戶要求調(diào)查問(wèn)卷的題目,必須是純html標(biāo)簽,于是就面臨著一系列的問(wèn)題
1.頁(yè)面如何提交
用戶做完了調(diào)查問(wèn)卷,調(diào)查的結(jié)果如何提交?
2.如何給頁(yè)面?zhèn)鬟f參數(shù)
同一個(gè)調(diào)查問(wèn)卷,多個(gè)人提交后,管理人員查看調(diào)查問(wèn)卷,如何傳遞參數(shù),保證看到的數(shù)據(jù)是指定某一個(gè)人的調(diào)查問(wèn)卷。其實(shí)這個(gè)問(wèn)題,在asp.net中使用最簡(jiǎn)單的查詢字符串就可以解決,但在純html中,如何傳遞參數(shù)?
3.如何驗(yàn)證用戶身份
在用戶登陸后,才能答卷,如何驗(yàn)證用戶是否登錄呢?
整個(gè)系統(tǒng)都使用html實(shí)現(xiàn)?能完成嗎?似乎不行,畢竟提交的數(shù)據(jù)需要保存到數(shù)據(jù)庫(kù)中,這個(gè)恐怕不是純html可以完成的。
所以基本思路就是前臺(tái)全部使用html靜態(tài)網(wǎng)頁(yè),但后臺(tái)卻必須使用csharp代碼配合。
1.頁(yè)面如何提交
其實(shí)純html可以提交,主要是通過(guò)標(biāo)簽form。
例如如下代碼,在提交到savedata.aspx后,就可以獲得用戶輸入的所有的數(shù)據(jù),在進(jìn)行處理后保存到數(shù)據(jù)庫(kù),可以通過(guò)ajax提交,也可以通過(guò)input的 type為submit的標(biāo)簽提交。
代碼如下:
<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.如何給頁(yè)面?zhèn)鬟f參數(shù)
在asp.net中給頁(yè)面?zhèn)鬟f參數(shù)其實(shí)最簡(jiǎn)單就是通過(guò)查詢字符串,但純html了網(wǎng)頁(yè)是靜態(tài)網(wǎng)頁(yè),沒(méi)有對(duì)應(yīng)頁(yè)面的后臺(tái),如何傳遞參數(shù)
例如同一套問(wèn)卷,張三,李四都解答了問(wèn)卷,管理員要查看張三的問(wèn)卷,如何把張三的答案重新賦值給問(wèn)卷的試題?
由于html是是靜態(tài)頁(yè)面,想要讀取數(shù)據(jù),就必須通過(guò)ajax動(dòng)態(tài)讀取答案,然后再修改靜態(tài)頁(yè)面。但如何傳遞表示某一個(gè)人的參數(shù)呢?
其實(shí)還是通過(guò)查詢字符串,但分析查詢字符串的方法從后臺(tái)變?yōu)榍芭_(tái),變成了通過(guò)js去分析查詢字符串,然后通過(guò)ajax讀取數(shù)據(jù)。
代碼如下:
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 "";
}
}
當(dāng)然還有一種方法,因?yàn)樽x取數(shù)據(jù)是要通過(guò)后臺(tái)的,所以可以根據(jù)Session中的信息來(lái)獲取參數(shù),但如果Session中沒(méi)有相關(guān)信息,就只能通過(guò)通過(guò)查詢字符串的方式了。
例如此處的例子,就只能通過(guò)查詢字符串的方式了。
3.如何驗(yàn)證用戶身份
既然整個(gè)系統(tǒng)沒(méi)有辦法只是用html完成,前臺(tái)展示是純html,后臺(tái)是csharp代碼,自然也就存在Session,當(dāng)然也就可以驗(yàn)證用戶身份了。如果需要判斷靜態(tài)的html頁(yè)面是否過(guò)期,可以通過(guò)ajax調(diào)用后臺(tái)方法,根據(jù)Session是否存在判斷用戶是否登錄以及是否過(guò)期等判斷。
2025國(guó)考·省考課程試聽報(bào)名