ASP.NET server control

Một phần của tài liệu TRANG TÀI LIỆU INTERNET HTML. (Trang 37)

LI NểI Ờ ĐẦU

P hn I: C CK THU TTO TRANG TI LI Uầ ÀỆ

2.4.10 ASP.NET server control

ASP.NET server control là bộ control thứ hai được thiết kế với rất nhiều khỏc biệt. Chỳng khụng thể hiện giống hệt như cỏc HTML server control. Thay vào đú chỳng được định nghĩa như là cỏc control trừu tượng mà đại diện cho cỏc

thành phần HTML vỡ cỏc control này thật sự khỏc với mụ hỡnh để lập trỡnh. Vớ dụ RadioButtonList trong ASP.NET là một control nhưng nú lại gồm cỏc table trong mó HTML.

ASP.NET server control bao gồm cỏc control trong form truyền thống như button và textbox cỏc control phức tạp như tablẹ Chỳng cũng gồm cú cỏc control cung cấp cỏc chức năng thướng xuyờn sử dụng như là hiển thị dữ liệu trong lưới, chọn ngày thỏng..

Vớ dụ sau miờu tả làm thế nào để đưa vào trong trang .aspx một thành phần điều khiển:

<html> <body>

<h3><font face="Verdana">Declaring Server Controls</font></h3>

This sample demonstrates how to declare the &lt;asp:label&gt; server control and

manipulate its properties within a pagẹ <p>

<hr>

<asp:label id="Message1" font-size="16" font-bold="true" forecolor="red" runat=server>This is Message One</asp:label>

<br>

<asp:label id="Message2" font-size="20" font-italic="true" forecolor="blue" runat=server>This is Message Two</asp:label>

<br>

<asp:label id="Message3" font-size="24" font-

underline="true" forecolor="green" runat=server>This is Message Three</asp:label>

</body> </html>

Sau đõy là cỏc đặc điểm thờm vào trong cỏc control ASP.NET: Mụ hỡnh đối tượng phong phỳ cung cấp nhiều khả năng lập trỡnh.

Tự động xỏc định trỡnh duyệt. Cỏc control cú thể xỏc định trỡnh duyệt và tạo mó tương ứng cho trỡnh duyệt đú.

Một số control cú khả năng định dạng theo cỏch ta muốn thể hiện bằng cỏch sử dụng templates.

Một số control cú khả năng xỏc định cỏc sự kiện và ngay lập tức post lờn server hoặc là được cache và phỏt sinh khi form được đệ trỡnh.

Trong lỳc thiết kế ở dạng HTML, cỏc control xuất hiện trong trang cú dạng:

<asp:button attributes runat=”server”/>

Cỏc thuộc tớnh trong trường hợp này khụng giống như cỏc trong cỏc thành phần HTML, thay vào đú chỳng là cỏc thuộc tớnh của Web control.

Khi trang Web form chạy, cỏc web server control trong trang thường được thể hiện như cỏc thành phần HTML. Vớ dụ một textbox control thỡ giống như kiểu thẻ <INPUT> hay <TEXTAREA>.

Để thờm cỏc Control vào trang Web Form.

Việc thờm cỏc server control vào trang Web Form đơn giản như thờm cỏc thành phần HTML. Cỳ phỏp chớnh xỏc mà ta sử dụng phụ thuộc vào control mà ta thờm vào, nhưng thường thiết lập theo cỏch sau đõỵ

Cỏc control phải cú thuộc tớnh runat=”server”.

Đặt thuộc tớnh ID cho cỏc control trừ khi cỏc control đú là một phần của một control phức tạp và sẽ được lặp lại( như cỏc control Repeater, DataList và DataGrid).

Web server control được khai bỏo với một thẻ XML mà tham chiếu đến asp namespacẹ Cỏc thẻ phải được đúng lại, ta cú thể sử dụng thẻ đúng cụ thể hay nếu cỏc control khụng cú cỏc thành phần con ta cú thể dựng thẻ tự đúng.

Tiếp đầu ngữ asp: cho biết điều kgiển được tạo ra từ thư viện là một thành phần của ASP.NET. Sử dụng tiếp đầu ngữ làm phõn vựng tờn namespace cho phộp ta tạo ra nhiều phần tử hay thành phần điều khiển cựng tờn nhưng được đặt trong cỏc thư viện khỏc nhaụ

ASP.NET cho phộp cỏc nhà phỏt triển thứ 3 cung cấp thư viện riờng của họ, những thành phần điều khiển thờm vào sẽ hoạt động chung với cỏc thành phần điều khiển ASP.NET sẵn cú thụng qua namespace riờng biệt.

Thật sự là mụ hỡnh đối tượng

Cỏc Web server control thật sự là mụ hỡnh đối tượng. Cú thể tương tỏc với nú thụng qua cỏc phương thức, thuộc tớnh và sự kiện (tương tự mụ hỡnh hướng đối tượng trong Visual Basic ).

Cỏc thuộc tớnh và phương thức

Khi một điều khiển trong ASP.NET được sử dụng, ta hoàn toàn cú thể đặt thuộc tớnh và triệu gọi phương thức trong nú.

Cỏc sự kiện

Cỏc điều khiển của ASP.NET cho phộp đỏp ứng một số sự kiện phỏt sinh từ mỏy khỏch ngay trờn trỡnh chủ

Sub button1_onclick (Object Sender, EventArgs E)

Điều khiển server control nội tại

Cỏc server control nội tại thiết kế để thay thế cho cỏc điều khiển HTML. Lý do việc thay thế này là do tớnh thuần nhất và tương thớch. Một trong những vấn đề yếu kộm của HTML đú là khụng thuần nhất và tương thớch trong cỏch đặt tờn cho cỏc thành phần cỏc chức năng tương tự nhaụ Vớ dụ: Bằng thẻ <input> ta

cú thể tạo ra rất nhiều điều khiển khỏc nhau “radio”, ”checkbox”, “button”,.. Chỳng khụng rừ ràng bằng việc định nghĩa cỏc điều khiển nội tại do ASP.NET cung cấp.

Kết quả cuối cựng mà điều khiển nội tại sinh ra để hiển thị trờn trỡnh duyệt cũng chỉ là mó HTML đơn giản.

Giới thiệu một số Web Server Control

Label Web Server control: cung cấp cho ta cỏch để đưa một đoạn text ra trang Web Form. Thường thỡ ta chỉ nờn sử dụng control này khi muố đoạn text đú của ta thay đổi trong lỳc thực thị Sử dụng label control thỡ đơn giản hơn việc dựng textbox hay cỏc control khỏc, vỡ kết quả của nú là tĩnh trờn trang Web, người dựng khụng thể thay đổị

Button: tương tự như cỏc Submit trong HTML. Sử dụng cỏc thành phần điều khiển nỳt nhấn này khi ta muốn postback dữ liệu lờn trỡnh chủ.

Linkbutton (nỳt liờn kết):cho phộp ta thực hiện một số thao tỏc trước khi post lờn trỡnh chủ.

Imagebutton: tương tự như button nhưng cho phộp ta gắn một hỡnh ảnh vào đú.

Hyperlink chức năng như thẻ <a> trong HTML.

Điều khiển textbox: thành phần này cho phộp ta nhập dữ liệu vào từ bàn phớm khỏ tương tự với hộp text trong Visual Basic.

Điều khiển lựa chọn

checkbox: cho phộp chọn nhiều đề mục cựng một lỳc.

Radio button: Cho phộp chọn duy nhất một đề mục trong cỏc đề mục đưa rạ

Thuộc tớnh Autopostback

Cỏc điều khiển trờn đều cú một thuộc tớnh quản lý trạng thỏi là Autopostback. Thụng thường dữ liệu và kết quả tương tỏc của người dựng chỉ được gửi lờn server xử lý sau khi đó nhấn nỳt submị Tuy nhiờn, nếu ta muốn thao tỏc postback thực hiện ngay khi nỳt radio, checkbox hay danh sỏch được chọn ta cú thể đặt thuộc tớnh autopostback của mỗi nỳt chọn cú giỏ trị là true với chỉ định thủ tục xử lý sự kiện trờn server.

Cỏc điều khiển đa năng (Rich control) Điều khiển Adrotator

Chọn ngẫu nhiờn cỏc thụng tin quảng cỏo được định dạng sẵn vào trang tài liệu mỗi khi hiển thị.

Điều khiển lịch Calendar

Là điều khiển đơn giản nhưng mang lại nhiều tỏc dụng. Hiển thị lịch vào trang tài liệu theo cỏc kiểu mà ta định mẫụ Ngoài ra người dựng cú thể tương tỏc với điều khiển lịch này Vớ dụ sau hiển thị một calendar đó được định dạng lại mẫụ

Hiện Microsoft đang xõy dựng một tập gồm rất nhiều điều khiển đa năng như treeview, listview, Menụ. những thành phần điều khiển này hoạt động tương tự như trong mụi trường phỏt triển desktop. Thành phần điều khiển đa năng thật sự đem lạicho cỏc nhà phỏt triển Web khả năng xõy dựng ứng dụng nhanh chúng và hiệu quả. Loại bỏ cụng việc phải xõy dựng lặp đi lặp lại cỏc điều khiển thụng dụng.

Web server control dựng để kiểm tra dữ liệu nhập vào (validate control) Một trong những lợi ớch của việc tạo cỏc trang Web Form cho việc nhập dữ liệu là cú thể kiểm tra tớnh hợp lệ thụng tin nhập vào của người dựng. ASP.NET cung cấp một bộ control để thực hiện việc này, chỳng rất dễ sử dụng cú thể kiểm tra lỗi nếu cần thiết thụng bỏo lỗị

2.4.12 Sử dụng Validation Control

Để kiểm tra dữ liệu nhập vào của người dựng, ta cần phải thờm vào trong trang Web Form cỏc validation control cho mỗi control. Cú nhiều cỏc validation control cho mỗi kiểu kiểm tra khỏc nhau:

Loại kiểm tra Control được sử dụng ý nghĩa Bắt buộc phải

nhập

RequiredFieldValidator Người dựng khụng

thể bỏ qua

so sỏnh giỏ trị CompareValidator So sỏnh giỏ trị nhập vào với một hằng số, hay giỏ trị của cỏc control sử dụng cỏc phộp so sỏnh.

Kiểm tra giới hạn RangeValidator Kiểm tra giỏ trị nhập vào trong một khoảng xỏc định, giới hạn với cỏc chữ số,chữ cỏị. Người dựng thiết lập

CustomValidator Kiểm tra bằng

cỏch sử dụng cỏc quy định của tạ

Mỗi input server control cú thể được gắn với nhiều Validator để thực hiện nhiều tỏc vụ. Vớ dụ, ta cú thể gắn vào một input để kiểm tra điều kiện bắt buộc phải nhập kết hợp với kiểm tra giới hạn nhập vàọ

Tuy nhiờn cỏc control kiểm tra dữ liệu nhập làm việc giới hạn đối với cỏc thành phần sau:

Control Thuộc tớnh kiểm tra

HtmlInputText Value HtmlTextArea Value HtmlSelect Value HtmlInputFile Value TextBox Text ListBox SelectedItem.Value DropDownList SelectedItem.Value RadioButtonList SelectedItem.Value

2.4.13 ASP.NET User Web control

Cỏc điều khiển trong ASP .NET đó cung cấp nhiều chức năng rất cú ớch, nhưng chỳng vẫn khụng thể đỏp ứng được hết cỏc yờu cầu trong nhiều hoàn cảnh khỏc nhaụ Web user control cho phộp ta dễ dàng định nghĩa cỏc control mà ta cần trong những ứng dụng, sử dụng cựng một ký thuật lập trỡnh tương tự như khi ta viết với cỏc trang Web form. Ta cú thể thậm chớ chuyển đổi từ một trang Web form thành một Web User Control chỉ với vài thay đổi nhỏ. Cú một điều nờn nhớ cỏc Web User Control khụng thể chạy riờng nếu như nú khụng được đặt vào một trang Web Form nàọ Cỏc User Control được xỏc định cú phần mở rộng là .ascx

2.4.13.1 Cấu trỳc của User Control

Một User Control tương tự như một Web Form hoàn chỉnh, với cả hai giao diện người dựng và mó ẩn. Tuy nhiờn trang giao diện người dựng cú một số điểm khỏc biệt với Web Form:

. Trong User Control khụng cũn thẻ <HTML>, <BODY> và thẻ <FORM> Một User Control cũng như mụt trang Web Form. Ta cú thể sử dụng cỏc thành phần HTML và Web Control trong User Control hoàn toàn giống với cỏch làm như với trang Web Form. Vớ dụ ta cú thể tạo một user control để sử dụng như toolbar, đặt vào trong đú cỏc Button Web server control tạo sự kiện và nắm bắt cỏc sự kiện đú.

2.1.13.2Tạo Web User Control:

Đoạn mó sau tạo một Web user control đơn giản được sử dụng như là một menụ Cú bốn menu lựa chọn là cỏc thành phần Hyperlink:

<%@ Control Language="vb" AutoEventWireup="false"

Codebehind="menụascx.vb" Inherits="myProj.menu"%> <P>

<asp:HyperLink id=lnkLogin runat="server" _

NavigateURL="Login.aspx">Login</asp:HyperLink>&nbsp; <asp:HyperLink id=lnkAđToCart runat="server" _

NavigateURL="Cart.aspx>Ađ to Cart</asp:HyperLink>&nbsp; | <asp:HyperLink id=lnkTechSupport runat="server" _

NavigateURL="TechSupport.aspx">Technical Support </asp:HyperLink>&nbsp; |

<asp:HyperLink id=lnkAbout runat="server" _

NavigteURL="AboutUs.aspx">About Us</asp:HyperLink> </P>

Thờm cỏc User Control vào Web Form

Ta cú thể thờm một Web User Control vào Web Form bằng việc thờm một chỉ thị @ Registervà một thẻ cho control đến trang. Bằng cỏch này control đú đó trở thành một phần của trang và nú được biểu diễn khi trang dược xử lý. Hơn nữa cỏc thuộc tớnh cụng cộng, sự kiện, phương thức được phơi bày ra cho trang và cú thể lập trỡnh được ta cũng cú thể thờm vào trang cỏc user control một theo cỏch lập trỡnh.

Để thờm một User Control vào trang Web Form, tại đầu trang trước cả thẻ <HTML> phải thờm một chỉ thị để đăng ký thụng bỏo cho trang khi nú được xử lý. Chỉ thị ta đưa vào cú gắn với một tờn và một namespace bằng giỏ trị cụ thể:

<%@ Register TagPrefix="myNameSpace" TagName = "myUserControl" Src="userControl1.ascx" %>

Thuộc tớnh Miờu tả

TagPrefix Chỉ định một namespace duy nhất cho user Control, vỡ vậy trong trang của ta cú thể cú nhiều user control cú tờn giống nhau, nhưng chỳng cú thể là hoàn toàn khỏc nhaụ Vớ dụ

<myNamespce:xxx>

TagName sự liờn kết với tag prefix để xỏc định namespace duy nhất cho control của Được dựng để đặt tờn cho User control. Tờn này được sử dụng trong

ta <myNameSpace:myUserControl ... />

Src "/MyApp/Include/UserControl1.ascx".Thuộc tớnh Src là đường dẫn ảo tới user control, vớ dụ:

.

Trong thẻ <BODY> của trang, tạo một thẻ cho control tại nơi mà ta muốn nú thể hiện. Sử dụng TagPrefix và Tagname mà ta đó đăng ký với thuộc tớnh runat=”server” như đoạn mó sau:

<myNameSpace:myUserControl ID="mnuMain" runat="server" />

Nếu control của ta cú thuộc tớnh, ta cú thể đặt cho nú trong lỳc thiết kế, cỏc thuộc tớnh đú thường cú giỏ trị ngay trong thẻ:

<myNameSpace:myUserControl ID="mnuMain" runat="server"

selected="Login" backColor="black" />

Tạo một Web User Control

Ta cú thể dựng một trỡnh soạn thảo text hay bất kỳ trỡnh soạn thoả HTML nào để tạo một Web User control. Cỳ phỏp để định nghĩa một User control rất giụng như Web For; điểm khỏc biệt chớnh là cỏc User control khụng cú cỏc thẻ <HTML>,<BODY> và <FORM> trờn nội dung của nú.

User control chú thể là cỏc file text đơn giản hay cú thể chứa cỏc điều khiển phớa server. Sau đõy là một mó tạo một form login đơn giản mà ta cú thể đưa vào nhiều trang trong ứng dụng của ta:

Trước hết để khai bỏo hai thuộc tớnh mới trong control của ta và thao tỏc nú với cỏc thành phần ASP khỏc:

[Visual Basic]

<script language="VB" runat="server"> Public Property UserId() As [String] Get Return User.Text End Get Set User.Text = value End Set End Property

Public Property Password() As [String] Get Return Pass.Text End Get Set Pass.Text = value End Set End Property </script>

Sau đú đặt tờn cho control của ta và save nú với tờn file mở rộng là .ascx

2.5 TRUY XUẤT DỮ LIỆU VỚI ADỌNET

Một trong những lý do khiến cho ASP phỏt triển rộng rói là những tiện ớch của nú để truy cập cơ sở dữ liệu khỏc nhau ngay trong ứng dụng Web. ASP gắn với Ado cú thể truy cập đến mọi loại cơ sở dữ liệu hiện cú. ASP.NET mở rộng khả năng này bằng việc giới thiệu ADỌNET (hay ADO +). Cung cấp cơ chế xử lý dữ liệu linh động dễ dàng thao tỏc và ràng buộc mọi kiểu dữ liệu vào cỏc thành phần điều khiển Web hiện cú.

ActiveX Data Object cho .NET Framework (ADỌNET) là một bộ cỏc lớp để thực hiện cỏc dịch vụ truy xuất dữ liệu cho cỏc lập trỡnh viờn .NET, ADỌNET cung cấp rất nhiều cỏc component phong phỳ cho việc tạo cỏc ứng dụng phõn tỏn và chia xẻ dữ liệụ Nú là một phần được tớch hợp trong .NET framework, hỗ trợ để truy xuất đến cơ sở dữ liệu quan hệ, XML và cơ sở dữ liệu ứng dụng. Ngoài ra, ADỌNET cũn đỏp ứng cỏc nhu cầu đa dạng của nhà phỏt triển.

Qua ADỌNET cỏc trỡnh tiờu thụ (consumer) dữ liệu chia xẻ cú thể tiếp cập đến nguồn dữ liệu như SQL Server hay cỏc nguồn dữ liệu được hỗ trợ bởi

ADỌNET gồm cú .NET data provider để thực hiện việc kết nối tới cơ sở dữ liệu, bộ thực hiện lệnh và kết quả nhận được. Những kết quả này cú thể được xử lý một cỏch trực tiếp hoặc được lưu trong đối tượng DataSet để người dựng cú thể quản lý, kết hợp với dữ liệu từ cỏc cỏc nguồn dữ liệu khỏc, hay di chuyển đi xa giữa cỏc tầng. Đối tượng DataSet trong ADỌNET cú thể được sử dụng một cỏch độc lập như là một trỡnh cung cấp dữ liệu .NET để quản lý dữ liệu địa phương cho ứng dụng hay là nguồn cho XML. ADỌNET cung cấp cho người phỏt triển việc viết mó lệnh được quản lý một cỏch chức năng hoỏ như cỏc chức năng mà cỏc nhà phỏt triển khi dựng với ADỌ

2.5 Mục đớch thiết kế cho ADỌNET

Ngày nay ngày càng nhiều cỏc ứng dụng sử dụng XML để mó hoỏ dữ liệu khi qua cỏc kết nối mạng. Cỏc ứng dụng Web sử dụng HTTP như là bộ khung chung trong việc truyền thụng giữa cỏc tầng, và từ đú trạng thỏi giữa cỏc lần triệu gọi phải được nắm bắt một cỏch rừ ràng. Mụ hỡnh mới này rất khỏc với kiểu lập trỡnh kết nối chặt chẽ mà cụ thể là kiểu client/server, nơi mà một kết nối được mở trong suốt thời gian sống của ứng dụng và khụng cú thụng tin về trạng thỏi nào được nắm bắt.

Microsoft đó nhận thấy rằng cần phải cú một kiểu lập trỡnh mới để truy cập dữ liệụ ADỌNET được thiết kế để giải quyết cỏc vấn đề trong mụ hỡnh lập trỡnh mới này: Cấu trỳc dữ liệu khụng kết nối, gắn bú chặt chẽ với XML, thể hiện dữ liệu thụng thường với khả năng kết hợp dữ liệu từ cỏc nguồn dữ liệu khỏc nhau và kết hợp cỏc tiện ớch trong việc tương tỏc với Cơ sở dữ liệu, tất cả được đưa vào trong .NET Framework.

Một phần của tài liệu TRANG TÀI LIỆU INTERNET HTML. (Trang 37)