Ứng dụng Web - Chương 8

Chia sẻ bởi Nguyễn Bùi Minh Tâm | Ngày 19/03/2024 | 13

Chia sẻ tài liệu: Ứng dụng Web - Chương 8 thuộc Công nghệ thông tin

Nội dung tài liệu:

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
<% @Control Language="C#" Debug="True" %>


Label.aspx
<% @Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="MyLabel.ascx" %>


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; intCount<=3; intCount++)
{
writer.Write ("

This 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
<% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="Repeater" %>

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 <= TimesToRepeat; Count++)
{
writer.Write("

" + 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
<% @Register TagPrefix="MyOwnControls" Namespace="MyOwnControls" Assembly="Composite" %>

Composite Controls


"server" ID="Form1">






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.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Bùi Minh Tâm
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)