国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

從ASP遷移至ASP+ --處理會話變量

2019-11-18 22:01:14
字體:
供稿:網(wǎng)友
現(xiàn)存的asp版的eVille禁止對站點的某些部分的訪問,除非用戶已經(jīng)登錄。一些功能像查看將來的優(yōu)惠特價,報名上課,以及了解自己當前的入學狀況是受限制區(qū)域。如果想在未登錄的狀態(tài)下訪問這類區(qū)域,你只會被重新導回到登錄頁面。用戶在一份表格中輸入他們的用戶名與密碼,然后與數(shù)據(jù)庫的學生表進行比較,如果登錄成功,一個名為blnLoggedIn的會話變量便被設(shè)為真。這種方法對這個站點是有效的,因為它架設(shè)在一臺單一的服務器上。其它的方法將被用于web farms上的web應用程序,比如ASP+的會話存儲,或SQL的會話存儲。

   ===確認用戶輸入===

   代碼重寫工作量最大的部分在于那些獲取用戶輸入的頁面,用戶輸入這些信息以登記成為eVille會員。有一個叫signup.asp的頁面,用來讓用戶輸入他們的重要信息,現(xiàn)有會員也可籍此更新信息。未轉(zhuǎn)換前,表格的數(shù)據(jù)通過HTTP Post方式遞交給一個叫cookie.asp的頁面。該頁會確認表格中的數(shù)據(jù),如果存在錯誤,將用戶導回signup.asp同時在query string中加上錯誤號。接著一個Select Case語句會將基于錯誤號的輸出進行轉(zhuǎn)換。我們檢查的錯誤包括:

   *未輸入用戶名

   *未輸入密碼

   *密碼與密碼確認不符

   *用戶名在數(shù)據(jù)庫中已存在

   通過將所有的輸入域(field)轉(zhuǎn)換成服務器控件,然后添加RequiredFieldValidators,可以輕松處理頭兩個可能發(fā)生的錯誤。RequiredFieldValidator只須簡單確認經(jīng)ControlToValidate域鑒別后的服務器控件中有輸入值:

   < tr>

   < td valign="top">

   < asp:RequiredFieldValidator runat=server

   ControlToValidate = "txtUserName"

   Display = "static"

   errorMessage="< b>*< /b>"

   ForeColor = "#CC3300" />

   < /td>

   < td valign=top>User Name:< /td>

   < td valign=top>

   < asp:TextBox id="txtUserName" size=25 runat=server />< /td>

   < /tr>

   這種方案是如此簡單以至我們決定在把RequiredFieldValidator添加到所有的表格輸入域中。在ASP中,我們通常會用一個VBScript函數(shù)來檢驗輸入值,而現(xiàn)在我們只需把RequiredFieldValidator添加到每個我們想確認的控件中去。

   至于密碼與密碼確認的比較,我們可以使用ASP+的CompareValidator。該控件允許我們設(shè)置ControlToValidate,ControlToCompare以及Operator屬性(在本例中是一個等于號,即'Equal')。被指定的兩個控件用Operator(即操作符)屬性互相比較。與傳統(tǒng)的If...Then語句相比,這種方法明顯要簡單,快捷:

   < asp:CompareValidator runat=server

   ControlToValidate = "txtConfirm"

   ControlToCompare = "txtPassWord"

   Type = "String"

   Operator = "Equal"

   Display = "dynamic"

   errorMessage="< b>*< /b>"

   ForeColor = "#CC3300" />

   基于不同的瀏覽器,ASP+ validator控件會相應執(zhí)行客戶端的javaScript驗證(針對IE4.0以上版本),或者執(zhí)行服務器端驗證(針對其它情況)。不論驗證是如何執(zhí)行的,服務器端的驗證是必不可少的(以阻止某些淘氣的家伙在客戶端驗證上耍花樣)。

   現(xiàn)在輪到最后一個錯誤了。假如提交的用戶名已經(jīng)存在,這就要求一點點頁面的改動。到目前為止,我們已經(jīng)用可以執(zhí)行服務器端與客戶端驗證代碼的服務器控件完成了所有的ASP+驗證。至于最后這個錯誤,我們要提供一些自定義的服務器端驗證,因為我們需要訪問數(shù)據(jù)庫以了解被請求的用戶名是否已存在。我們可以利用ASP+ CustomValidator控件來解決這一問題。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 手游| 武平县| 景谷| 古蔺县| 定西市| 台山市| 江都市| 绍兴县| 石柱| 岳西县| 临海市| 曲阜市| 郁南县| 黑水县| 武夷山市| 祁东县| 宁津县| 新竹市| 都江堰市| 普定县| 晋城| 象州县| 卢龙县| 临朐县| 罗源县| 浠水县| 汉寿县| 阳东县| 新田县| 望奎县| 偏关县| 乌什县| 赫章县| 阿拉善右旗| 思茅市| 溧阳市| 星座| 满洲里市| 玉树县| 耿马| 云南省|