2010-10-25 20 views
5

Vị trí tốt nhất để tạo điều khiển động trong ASP.NET ở đâu? MSDN nói Pre_init, một số khác MSDN article nói Init và some people nói sự kiện Tải (mà tôi đọc không tốt để làm).ASP.NET - Điều khiển động được tạo trong Page_Pre_init() hoặc Page_Init() hoặc Page_Load()

Tôi đang học lấy chứng chỉ MS và tôi muốn đảm bảo rằng tôi biết cái nào là lý tưởng và tại sao. Suy nghĩ ban đầu của tôi là tạo đối tượng trong pre_init và gán bất kỳ giá trị thuộc tính nào trong sự kiện Load (để ViewState sẽ được nạp cho điều khiển động).

Trả lời

4

Tôi khuyên bạn nên Page_Init(). Điều này sẽ bỏ qua vấn đề ViewState không tải liên tục. Các điều khiển sẽ có thể truy cập được, nhưng viewstate chưa được áp dụng cho chúng. Đây chính xác là nơi bạn muốn thêm các điều khiển cho mỗi bài viết thứ hai.

Ngoài ra, dựa trên kinh nghiệm, đây là những gì hiệu quả. bất kỳ cách tiếp cận nào khác đã gây ra vấn đề cho tôi.

4

Điều đó phụ thuộc nhưng tôi nghĩ rằng sự đồng thuận chung là sớm hơn thì càng tốt. Vì vậy, nếu bạn thêm các điều khiển động vào một Trang, hãy thêm chúng vào trong giai đoạn Pre_Init nếu bạn có thể. Nếu bạn đang thêm các điều khiển tùy chỉnh vào một điều khiển người dùng, hãy thêm chúng vào giai đoạn Init nếu bạn có thể (các điều khiển không có một Pre_Init).

Có những trường hợp bạn không thể thêm chúng sớm hơn.

  1. Thêm điều khiển vào phản hồi cho một số đầu vào của người dùng (ví dụ: nút nhấp).
  2. Bạn cần tải một điều khiển cụ thể dựa trên trạng thái của trang bạn đang truy cập. Trong trường hợp này, bạn có thể phải chờ cho đến khi sự kiện tải của điều khiển chứa để xác định xem bạn có cần phải tải điều khiển hay không.

Như một quy tắc chung, hãy thêm chúng ngay khi có thể.

Các vấn đề liên quan