intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình WebForm: Composite control - ThS. Nguyễn Hà Giang

Chia sẻ: Nhân Chi Sơ | Ngày: | Loại File: PPTX | Số trang:14

44
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình WebForm: Composite control gồm có những nội dung chính sau: Composite control, minh họa DateControl, cách tạo composite control, khai báo lớp cơ sở cho DataControl là CompositeControl, biên dịch composite control... Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình WebForm: Composite control - ThS. Nguyễn Hà Giang

  1. 1 Composite Control  Nguyễn Hà Giang  2009 Nguyen Ha Giang
  2. Nội dung 2  Composite control Nguyen Ha Giang
  3. Composite control 3  User control:  Cho phép kết hợp nhiều web control lại tạo thành một  phần của trang web, và chỉ sử dụng trong ứng dụng chứa  nó  Custom control:  Tùy biến lại dựa trên control chuẩn:  TextBox, Button, Label…  Tạo ra web control mới hoàn toàn dựa trên WebControl  Export ra file DLL, cho phép reuse trong nhiều ứng dụng  Composite controlNguyen Ha Giang
  4. Composite control 4  Cách tạo composite control  Tạo ứng dụng ASP.NET Server Control (Web control  library)  Tạo lớp composite control kế thừa từ lớp cơ sở  CompositeControl  Bổ sung các web control vào composite control  Viết các xử lý khởi tạo cho các control con  Override phương thức CreateChildControls: bổ sung các  control con vào danh sách control  Override phương thức RenderControl (nếu cần) Nguyen Ha Giang 
  5. Minh họa DateControl 5  DateControl là composite control cho phép user nhập  vào ngày tháng năm ngày tháng năm Nguyen Ha Giang
  6. Minh họa DateControl 6  Tạo composite control  Tạo ứng dụng ASP.NET Web Control (VS 2008) Nguyen Ha Giang
  7. Minh họa DateControl 7  Khai báo lớp cơ sở cho DataControl là  CompositeControl CompositeControl Nguyen Ha Giang
  8. Minh họa DateControl 8  Tạo 3 biến control dạng TextBox, để nhập các giá trị  ngày, tháng, năm public class HaGDateControl : CompositeControl { // Tạo 3 textbox cho user nhập ngày tháng năm private TextBox txtDay = new TextBox(); private TextBox txtMonth = new TextBox(); private TextBox txtYear = new TextBox(); } Nguyen Ha Giang
  9. Minh họa DateControl 9  Tạo một property Value kiểu DateTime tham chiếu đến  ngày tháng năm // Thuộc tính chứa giá trị DateTime public DateTime Value { get { return new DateTime(Convert.ToInt32(txtYear.Text), Convert.ToInt32(txtMonth.Text), Convert.ToInt32(txtDay.Text)); } set { txtDay.Text = value.Day.ToString(); txtMonth.Text = value.Month.ToString(); txtYear.Text = value.Year.ToString(); } } Nguyen Ha Giang
  10. Minh họa DateControl 10  Khởi tạo các textbox protected override void OnInit(EventArgs e) { // thực thi OnInit của lớp cơ sở base.OnInit(e); // khởi tạo cho textbox Day txtDay.ID = this.ID +"_day"; txtDay.MaxLength = 2; txtDay.Width = this.Width; // khởi tạo cho textbox Month txtMonth.ID = this.ID +"_month"; txtMonth.MaxLength = 2; txtMonth.Width = Width; // khởi tạo cho textbox Year txtYear.ID = this.ID + "_year"; txtYear.MaxLength = 4; txtYear.Width = Width; } Nguyen Ha Giang
  11. Minh họa DateControl 11  Override phương thức CreateChildControls:  Bổ sung các textbox vào danh sách control protected override void CreateChildControls() { // bổ sung các control con vào danh sách controls this.Controls.Add(txtDay); this.Controls.Add(txtMonth); this.Controls.Add(txtYear); // gọi lớp cơ sở base.CreateChildControls(); } Nguyen Ha Giang
  12. Minh họa DateControl 12  Render lại phần thể hiện composite control public override void RenderControl(HtmlTextWriter writer) { writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); txtDay.RenderControl(writer); // texbox render writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("/"); writer.RenderEndTag(); writer.RenderEndTag(); // end td ///…. } Nguyen Ha Giang
  13. Minh họa DateControl 13 … writer.RenderBeginTag(HtmlTextWriterTag.Td); txtMonth.RenderControl(writer); // textbox render writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("/"); writer.RenderEndTag(); // end td writer.RenderEndTag(); // end td writer.RenderBeginTag(HtmlTextWriterTag.Td); txtYear.RenderControl(writer); // textbox render writer.RenderEndTag(); // end td writer.RenderEndTag(); // end tr writer.RenderEndTag(); } // end RenderControl Nguyen Ha Giang
  14. Minh họa DateControl 14  Biên dịch composite control  Kết quả là file dạng thư viện DLL  Tạo project ASP.NET Web App để test composite  control   Bổ sung composite vừa tạo vào thanh công cụ ToolBox  Kéo thả composite control vào trang web test  Chạy project Nguyen Ha Giang
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2