Trong phần này bạn sẽ học tạo các điều khiển tuỳ biến như thế nào. Chúng ta sẽ tạo điều khiển. đầu tiên sẽ tạo một điều khiển kiểm tra độ dài của một trường nhập liệu trên Form LengthValidator, Bạn tạo mới một Control Kiểm tra tính hợp lệ bằng cách dẫn xuât từ lớp BaseValidator. Lớp BaseValidator là lớp cơ sở cho tất cả các điều khiển Validation, bao gồm RequiredFieldValidator và RegularExpressionValidator
Lớp cở sở là lớp 1 lớp phải được cài đặt mà yêu cầu bạn cài đặt một phương thức đơn.
EvaluateIsValid: Trả về giá trị True khi trường kiểm tra tính hợp lệ trên Form là hợp lệ.
GetControlValidationValue: Cho phép bạn điền giá trị của điều khiển sẽ được kiểm tra tính hợp lệ.
Khi bạn tạo một điều khiển kiểm tra tính hợp lệ tuỳ biến, bạn override phương thức EvaluateIsValid() và trong phương thức này bạn gọi GetControlValidationValue để lấy giá trị của trường cần kiểm tra tính hợp lệ.
Tạo một Điều khiển LengthValidator.
Trong phần này bạn sẽ được học cách tạo một điều khiển đơn giản để kiểm tra độ dài của trường nhập liệu.
Dưới đây mà mã nguồn của lớp LengthValidator.cs Code 10 LenghtValidator.cs using System; using System.Web.UI; using System.Web.UI.WebControls; namespace myControls {
publicclassLengthValidator : BaseValidator
{
int _maximumLength = 0; publicint MaximumLength {
get { return _maximumLength; } set { _maximumLength = value; } }
protectedoverride bool EvaluateIsValid() {
String value = this.GetControlValidationValue(this.ControlToValidate); if (value.Length > _maximumLength) returnfalse; else returntrue; } } }
Trong Lớp đoạn mã trên ta thấy LengthValidator được kế thừa từ lớp BaseValidator, trong lớp mới này ghi đề phương thức EvaluateIsValid. Giá trị của điều khiển được kiểm chứng được lấy về với phương thức GetControlValidationValue Và độ dài của giá trị sẽ được so sánh với thuộc tính MaximumLength.
Đế sử dụng điều khiển LenghtValidator chúng ta phải đăng ký điều khiển này ở đầu trang với thẻ chỉ dẫn <%@ Register %>. nếu bạn muốn sử dụng LengthValidator cho nhiều trang bạn có thể đăng ký điều khiển này ở phần <Page> trong file Web configuration.
Ví dụ sử dụng LengthValidator Code 11
<%@ Page Language="C#" AutoEventWireup="true"CodeFile="LengthValidator.aspx.cs"
Inherits="LengthValidator" %>
<%@ Register TagPrefix="validator"Namespace="myControls" %>
<!DOCTYPE htmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
<title>Use LenghtValidator</title> </head>
<body>
<form id="form1"runat="server">
<div>
<asp:Label ID="Label1"runat="server"Text="Ghi chú"></asp:Label>
<br />
<asp:TextBox ID="txtghichu" runat="server"Height="67px"TextMode="MultiLine" Width="176px"></asp:TextBox>
<validator:LengthValidator ID="validatorLength"ControlToValidate="txtghichu"
runat="server" ErrorMessage="Phải nhỏ hơn 20 ký tự"
MaximumLength="20"></validator:LengthValidator>
<br />
<asp:Button ID="Button1"runat="server" Text="Accept"Width="85px"/>
</form> </body> </html>
Chỉ dẫn <%@ Register %>, Với tiền tố TagPrefix=”Validator” và Chỉ đến Namespace=”MyControls” và sủ dụng điều khiển này giống với các điều khiển Validator khác.
Chương 5. Sử dụng các Rich Control.
Ở phần đầu của chương này các bạn sẽ được học sử dụng điều khiển FileUpload để cho phép chúng ta đưa các file dữ liệu lên Server, như là các file ảnh, word hay excel…
Ở chương này các bạn cũng được học các điều khiển khác như Calendar, AdRotator, Multiview, Wizard.