国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 宁津县| 华亭县| 收藏| 屯门区| 五原县| 两当县| 朝阳县| 乌兰县| 来凤县| 四会市| 湖南省| 黑龙江省| 清涧县| 中卫市| 宁明县| 苏尼特左旗| 丹棱县| 石林| 浏阳市| 榆林市| 焉耆| 甘孜| 安庆市| 固镇县| 南昌县| 柘荣县| 抚顺市| 金溪县| 长岛县| 凤城市| 鹤庆县| 北宁市| 马尔康县| 怀宁县| 留坝县| 青河县| 台州市| 襄樊市| 万盛区| 广元市| 襄城县|