• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[ASP.NET] Sử dụng chung nhiều phương thức cho nhiều trang

Các bài viết giới thiệu và hướng dẫn dành cho lập trình Web Forms

Điều hành viên: vietluyen

neverland87
Guru
Guru
Bài viết: 490
Ngày tham gia: T.Bảy 26/05/2007 4:31 pm
Been thanked: 8 time

[ASP.NET] Sử dụng chung nhiều phương thức cho nhiều trang

Gửi bàigửi bởi neverland87 » T.Hai 22/09/2008 10:00 pm

Tên bài viết: Sử dụng chung nhiều phương thức cho nhiều trang
Tác giả: neverland87
Cấp độ bài viết: Dễ
Tóm tắt: Bạn lên ý tưởng xây dựng một website, và những trang web của bạn đều có những tính năng chung nào đó, chẳng hạn hiển thị thông tin ngày tháng khi khách viếng thăm.


Lúc này, ý tưởng đầu tiên bạn nghĩ đến là xây dựng một phương thức HienThiThoiGian(), rồi ở từng cửa sổ code-behind của từng trang web, bạn copy-n-paste phương thức trên vào thân class của trang web cụ thể nào đó như thế này:

Default.aspx:

Mã: Chọn hết

  1. public partial class _Default : System.Web.UI.Page
  2. {
  3.     protected void Page_Load(object sender, EventArgs e)
  4.     {
  5.         HienThiThoiGian();
  6.     }
  7.     public void HienThiThoiGian()
  8.     {
  9.         Response.Write(DateTime.Now.ToLongDateString());
  10.     }
  11. }

Default2.aspx:

Mã: Chọn hết

  1. public partial class Default2 : System.Web.UI.Page
  2. {
  3.     protected void Page_Load(object sender, EventArgs e)
  4.     {
  5.         HienThiThoiGian();
  6.     }
  7.     public void HienThiThoiGian()
  8.     {
  9.         Response.Write(DateTime.Now.ToLongDateString());
  10.     }
  11. }

Thật sự mà nói, đây không phải là 1 ý tưởng hay, ít nhất là bạn vừa làm dư thừa những dòng code! Vậy bạn phải làm gì để cải thiện điều này? Đơn giản lắm, bạn chỉ cần tạo 1 class mới (Website\Add New Item… -> chọn Class, đặt tên class ở ô Name rồi nhấn OK). Chẳng hạn mình đặt tên là InheritedClass. Trong cửa sổ code của class vừa tạo, bạn cho class này thừa kế từ class System.Web.UI.Page. Công việc lúc này của bạn là thêm những phương thức nào mà những trang web của bạn sẽ sử dụng chung.

Bây giờ bạn qua cửa sổ code của trang nào đó, chẳng hạn ở đây là trang Default.aspx, bạn thay dòng:

Mã: Chọn hết

  1. public partial class _Default : System.Web.UI.Page


bằng dòng:

Mã: Chọn hết

  1. public partial class _Default : InheritedClass


Lúc này đơn giản chỉ cần gọi phương thức, thế là xong!

Mã: Chọn hết

  1. public partial class _Default : InheritedClass
  2. {
  3.     protected void Page_Load(object sender, EventArgs e)
  4.     {
  5.         HienThiThoiGian();
  6.     }
  7. }

Bạn làm tương tự với những trang khác là được!


SIMPLY THE BEST - ĐƠN GIẢN LÀ TỐT NHẤT

chieunm
Thành viên chính thức
Thành viên chính thức
Bài viết: 22
Ngày tham gia: T.Hai 14/06/2010 6:14 am
Đến từ: Phú Thọ
Liên hệ:

Re: [ASP.NET] Sử dụng chung nhiều phương thức cho nhiều tran

Gửi bàigửi bởi chieunm » T.Sáu 09/07/2010 6:03 am

Cái này là kế thừa trong lập trình OOP mà.
Họ và tên: Nguyễn Mạnh Chiều
Năm sinh: 1988
Nghề nghiệp: Lập trình viên ONENET
Đến từ: Phú Thọ
Languages: VB.NET, CSHARP, VB6, ASP.NET, PHP,...

Hình đại diện của người dùng
skatervn
Thành viên danh dự
Thành viên danh dự
Bài viết: 181
Ngày tham gia: T.Tư 16/04/2008 9:44 am
Đến từ: Đà Nẵng
Been thanked: 2 time

Re: [ASP.NET] Sử dụng chung nhiều phương thức cho nhiều tran

Gửi bàigửi bởi skatervn » T.Tư 08/12/2010 11:38 am

Quan trọng là bạn ấy hiểu và ứng dụng, còn nói suống OOP thì làm gì, bạn nói vậy nhưng có hiểu và ứng dụng được không, hay chỉ là nói? Rất hoan nghênh những bài viết cụ thể như bạn vậy, mình học hỏi được rất nhiều qua những ví dụ cụ thể như vậy.


Quay về “[ASP.NET] Bài viết giới thiệu, hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách