?

基于.net的用戶定義驗證控件的應用分析

2020-11-30 08:54曾凡秩
中文信息 2020年10期
關鍵詞:用戶名控件代碼

曾凡秩

摘?要:在應用.net和c#進行應用系統開發時經常會用到驗證控件,其中的CustomValidator驗證控件,除了配置好基本的參數外,還要配置特殊的參數,同時還要自己編程實現驗證的功能。本文就如何用此驗證控件實現用戶自己的特殊驗證(比如在注冊時用戶名已存在的驗證)進行了探討。

關鍵詞:.net?自定義驗證控件?CustomValidator

中圖分類號:G202?文獻標識碼:A?文章編號:1003-9082(2020)10-00-01

在應用.net和c#進行應用系統開發時經常會用到Required Field Validator等驗證控件,除Custom Validator的其他控件,只要設置好相關參數后,一般都能起到正常驗證數據的作用。而Custom Validator驗證控件,除了配置好基本的參數外,還要配置特殊的參數,同時還要自己編程實現驗證的功能。對CustomValidator控件如何引用、如何設置相關參數以及編程實現驗證,同時達到和常規驗證控件相似的效果等進行探討和驗證。

一、在TextBox數據控件后添加驗證控件

如下圖在該網頁實現通過調用數據庫來實現用戶功能,在用戶名的右邊加入用戶驗證控件,用來判斷要注冊的用戶名是否存在,若存在,則不能注冊。

1.在注冊頁面中與自定義驗證控件相關的頁面代碼如下:

用戶名:

ontextchanged=”txtName_TextChanged”>

ControlToValidate=”txtName” onservervalidate=”CustomValidator1_ServerValidate”>

2.該驗證控件的后臺代碼如下:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

{String connStr = ConfigurationManager.ConnectionStrings[“link2”].ToString();

SqlConnection conn = new SqlConnection(connStr);?conn.Open();

string sqlStr = “select count(*) from manage where userName=” + txtName.Text + “”;

SqlCommand sc = new SqlCommand(sqlStr, conn);

int num = int.Parse(sc.ExecuteScalar().ToString());

conn.Close();?args.IsValid = true;

if (num > 0) args.IsValid = false; }

3.在用戶名數據框中輸入名字時要以上能夠驗證用戶名是否存在,則要給該數據控件添加一個事件txtName_TextChanged,該事件引發驗證,代碼如下:

protected void txtName_TextChanged(object sender, EventArgs e)

{具體驗證代碼同上面斜體字部分。

CustomValidator1.IsValid = true;

if (num > 0) CustomValidator1.IsValid = false; }

4.注冊功能代碼:

protected void btnRegister_Click(object sender, EventArgs e)

{if (Page.IsValid == true)

{ //把數據寫入數據庫}}

二、在實現自定義驗證控件時要注意的幾個事項:

1.要實現對用戶名的存在性驗證,不能用普通驗證控件,只能用自定義驗證控件CustomValidator。

2.實現馬上驗證,只有給被驗證的用戶名框引入文本改變事件txt Name_Text Changed,而且被驗證的文本框要設置屬性Auto Post Back="True",服務器在這個文本發生改變時立馬可以進行數據庫查詢驗證。

3.一定要明確驗證控件的錯誤信息,是在其屬性args.IsValid值為false時才顯示出來。在txtName_TextChanged事件中進行驗證時要用驗證控件的名字來引用,如CustomValidator1.IsValid。

4.在注冊時,在把用戶名插入到數據庫前一定要判斷頁面的有效性,即if (Page.IsValid == true){注冊代碼},否則會執行注冊代碼,同名的用戶也會再次寫入數據庫。

結語

驗證控件是錄入數據的第一道安全屏障,而自定義驗證控件是解決普通驗證控件無法實現的驗證任務,用.net和C#開發應用系統中經常要用到的。就本文而言,有助于初次開發者自定義驗證控件CustomValidator編程的基本思路,掌握它的基本用法,從而為開發出一個安全穩定的系統打下堅實的基礎。要用到的關鍵屬性和事件有:AutoPostBack="True",CustomValidator1.IsValid=”True”, args.IsValid, Page.IsValid, txtName_TextChanged。

參考文獻

[1]陳巧莉,楊亨東,吳夢蘭. ASP.NET項目開發一體化教程[M].上海:上海交通大學出版社,2017.

[2]張領.ASP NET項目開發全程實錄[M].北京:清華大學出版社,2018.

[3]Daniel Cazzulino等.C#Web應用程序入門經典[M].北京:清華大學出版社,2003.

猜你喜歡
用戶名控件代碼
《護士進修雜志》投稿程序
《護士進修雜志》投稿程序
《護士進修雜志》投稿程序
創世代碼
創世代碼
創世代碼
創世代碼
ASP.NET服務器端驗證控件的使用
Spreadsheet控件在Delphi數據庫系統中的編程與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合