Cấu trúc của UserControl

Một phần của tài liệu Tổng quát về .NET Framework và ASP.NET (Trang 42 - 45)

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:

. file User Control có tên mở rộng là .ascx.

. 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 đó.

Đ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ị @ Register và 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 liên kết với tag prefix để xác định namespace duy nhất cho control của ta Đợc dùng để đặt tên cho User control. Tên này đợc sử dụng trong sự

<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 (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu Tổng quát về .NET Framework và ASP.NET (Trang 42 - 45)