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 tất cả
- public partial class _Default : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- HienThiThoiGian();
- }
- public void HienThiThoiGian()
- {
- Response.Write(DateTime.Now.ToLongDateString());
- }
- }
Default2.aspx:
- Mã: Chọn tất cả
- public partial class Default2 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- HienThiThoiGian();
- }
- public void HienThiThoiGian()
- {
- Response.Write(DateTime.Now.ToLongDateString());
- }
- }
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 tất cả
- public partial class _Default : System.Web.UI.Page
bằng dòng:
- Mã: Chọn tất cả
- 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 tất cả
- public partial class _Default : InheritedClass
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- HienThiThoiGian();
- }
- }
Bạn làm tương tự với những trang khác là được!


