程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET - 如何:以編程方式驗證 ASP.NET 服務器控件

ASP.NET - 如何:以編程方式驗證 ASP.NET 服務器控件

編輯:.NET實例教程

默認情況下,在頁回發到服務器時、頁初始化之後(即視圖狀態和回發數據已處理之後)和調用事件處理代碼之前,ASP.Net 驗證控件將自動執行驗證。如果浏覽器支持客戶端腳本,控件也可以在浏覽器中執行驗證。

但是,有時您可能需要以編程方式執行驗證。在以下情況下,您可能需要通過編程來進行驗證:

·如果驗證值在運行時尚未設置。例如,如果您正在使用 RangeValidator 控件,您可能需要根據用戶輸入的值在運行時設置其 MinimumValue 和 MaximumValue 屬性。此時默認的驗證不起作用,因為當頁調用驗證控件執行驗證時,RangeValidator 控件中沒有足夠的信息。

·需要確定 Page_Load 事件處理程序中的控件(或整個頁)的有效性。在頁的處理階段,驗證控件尚未調用,因此頁或單獨控件的 IsValid 屬性也未設置。(如果試圖獲取該屬性的值,將引發異常。)但如果要確定有效性,您能以編程方式調用驗證。

·您正在運行時編輯控件(或者輸入控件或者驗證控件)。



更加常見的是,您可以在需要的時候隨時通過編程進行驗證,以便在驗證執行時進行更加精確的控制。



      調用驗證控件的 Validate 方法。

該控件將執行檢查並設置控件和頁的 IsValid 屬性。如果檢測到錯誤,那麼當頁返回到用戶時,將照常顯示錯誤信息。 



下面的代碼示例演示如何以編程方式設置屬性。在這種情況下,一個 ASP.Net 網頁在度假地預定房間,以便在每次訪問時提供自由的往返。用戶必須輸入到達日期和離去日期,然後計劃訪問期間的日程。RangeValidator 控件用於確保用戶輸入典型的日期格式,旅行日期應該介於到達和離去日期之間。

說明: 如果用戶輸入的值無法轉換為日期,驗證程序控件將引發異常。為清楚起見,此示例未包含錯誤處理部分。

到達和離去日期來自於頁上的兩個 TextBox Web 服務器控件,即 txtArrival 和 txtDeparture。旅行日期輸入到第三個 TextBox 控件中,即 txtTourDate,該控件由 RangeValidator 控件進行驗證。

說明: 用編程方式進行驗證時,應該禁用客戶端腳本,以便控件不會在您的服務器端驗證代碼執行之前顯示不正確的錯誤信息。

private void Button1_Click(object sender, System.EventArgs e)

{

    RangeValidator1.MinimumValue = txtArrival.Text;

    RangeValidator1.MaximumValue = txtDeparture.Text;

    RangeValidator1.Type = ValidationDataType.Date;

    RangeValidator1.Validate();



    if (!RangeValidator1.IsValid)

    {

        RangeValidator1.ErrorMessage = "The tour date must " +

        "fall between the arrival and departure dates.";

    }

}



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.Net/dodream/archive/2009/12/17/5024666.ASPx
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved