Bài giảng Ứng dụng Web - Chương 8: Tùy biến điều khiển trong ASP.NET

Xác định cần thiết của việc tạo custom controls

Tạo điều khiển đơn giảng dùng ASP.NET

 

Tạo Composite control dùng C#

Sử dụng sự kiện với custom controls

 

ppt20 trang | Chuyên mục: ASP.NET | Chia sẻ: dkS00TYs | Lượt xem: 2031 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Ứng dụng Web - Chương 8: Tùy biến điều khiển trong ASP.NET, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Chương 8 Tùy biến điều khiển trong ASP.NET Mục đích Xác định cần thiết của việc tạo custom controls Tạo điều khiển đơn giảng dùng ASP.NET Tạo Composite control dùng C# Sử dụng sự kiện với custom controls Controls Các lớp được xây dựng cho việc tái sử dụng mã  cần thiết tái sử dụng lại các điều khiển giao diện người dùng Control giúp tái sử dụng một cách trực quan cũng như bổ sung các chức năng tương ứng Giúp đóng gói các khả năng và phân phối ASP.NET controls dùng cho Web để tạo HTML hoặc WML, hiển thị trên trình duyệt người dùng Controls … Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Assfffghfioi Jhjkhjkhjkhj Uyuuiyuiyui ghghghjggg Code for a dataview Code for a radiobutton Code for a checkbox Code for a button Code for a datagrid Code for a Label Code for a textbox Custom Controls Tạo theo 2 cách ASP.NET like Page Pagelets C# Custom Control sử dụng Label Control MyLabel.ascx public string MyText { 	get { 	// Do Nothing 	return(lblOne.Text); } 	set 	{ 	lblOne.Text = value; 	} Custom Control dùng Label Control } Label.aspx Custom Controls dùng C# Điều khiển này được viết hoàn toàn dùng C# mà không cần dùng bất cứ điều khiển ASP.Net nào Repeater.cs using System; using System.Web; using System.Web.UI; namespace MyOwnControls { 	public class TextRepeater : Control { 	protected override void Render(HtmlTextWriter writer) 	{ 	 	int intCount; Custom Controls dùng C# for (intCount=1; intCountThis is a custom control "); } } } } Mã được lưu trong tập tin cs và được biên dịch thành dll và nên được đặt vào trong thư mục bin của ứng dụng csc /t:library /r:System.dll,System.Web.Dll Repeater.cs Custom Controls dùng C# Sử dụng trong rang ASP.Net Custom control using C# 	 	 	 Thuộc tính của Custom Controls Đế cho phép sử dụng tốt hơn các control, chúng ta có thể tạo thuộc tính cho các điều khiển Các thuộc tính này có thể thay đổi một cách tự động NewRepeater. cs using System; using System.Web; using System.Web.UI; namespace MyOwnControls { 	public class TextRepeater : Control 	{ 	public int timesToRepeat; Properties of Custom Controls public string myText; public int TimesToRepeat { get { 	return timesToRepeat; } set { 	 if (timesToRepeat > 10) 	 throw new ArgumentException ("The text should not be repeated more than 10 times"); 	 else timesToRepeat = value; } } Properties of Custom Controls public string MyText { 	 get { 	return myText; } set { 	if (myText.Length > 25) 	 throw new ArgumentException("The text should not be more than 25 characters"); 	else 	 myText = value; } } Properties of Custom Controls protected override void Render(HtmlTextWriter writer) { for (int Count = 1; Count " + MyText + ""); } } } } Composite Controls Các control đơn giản có thể kết hợp với nhau để tạo các control phức tạp  Composite controls. Composite controls có thể bao hàm các custom controls, cũng như các control của windows Mỗi trang asp.net bao gồm ít nhất một control  là mộtcomposite control Composite Controls – Ví dụ Composite.cs using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyOwnControls { public class MyComposition : Control, INamingContainer { 	public int Val 	{ 	 get 	 { 	this.EnsureChildControls(); 	return Int32.Parse (((TextBox) Controls[1]). Text); 	 } Composite Controls - Ví dụ 	set 	{ 	 this.EnsureChildControls(); 	 ((TextBox)Controls[1]).Text = value.ToString(); 	} } protected override void CreateChildControls() { 	this.Controls.Add(new LiteralControl("Value: ")); 	TextBox box = new TextBox(); 	box.Text = "0"; 	this.Controls.Add(box); 	this.Controls.Add(new LiteralControl("")); } } } Composite Controls – Ví dụ composite control được tạo và sử dụng giống như các control khác trong asp.net Composite.aspx Composite Controls private void AddBtn_Click(Object sender, EventArgs e) { 	 MyComposition1.Val = MyComposition1.Val + 1; } private void SubtractBtn_Click(Object sender, EventArgs e) Composite Controls – Ví dụ { 	 MyComposition1.Val = MyComposition1.Val - 1; }	 Composite Controls – Ví dụ Summary Controls giúp tái sử dụng mã cũng như chức năng của nó Custom web controls được tạo theo 2 cách: Pagelets Web Controls dùng C# Pagelets là custom control nhưng giống một trang asp, và có phần mở rộng là .ascx. Web Controls render HTML tụ động. Custom Controls là kết hợp của các control khác Giao diện System.Web.UI.INamingContainer không có phương thức, ASP.Net dùng để tạo các unique ID. 

File đính kèm:

  • pptBài giảng Ứng dụng Web - Chương 8_Tùy biến điều khiển trong ASP.NET.ppt
Tài liệu liên quan