2008-12-17 10 views
8

Tôi có một trang web asp.net với một tấn mã được xử lý trong sự kiện Page-Load của trang. Tôi cũng có một hộp thả xuống trên trang sẽ tải lại trang với một giá trị mới, nhưng tôi muốn nhận được giá trị mới này trước khi tôi xử lý toàn bộ mã Tải trang. Tôi đang cố gắng để có được đầu của tôi xung quanh vòng đời trang ASP.NET.xử lý sự kiện trước Page_Load

Tôi có nên di chuyển mã Tải trang đến một sự kiện sau đó hay không hoặc có cách nào để lấy giá trị của giá trị danh sách thả xuống trước khi sự kiện Page-Load bắt đầu không?

TIA

Trả lời

10

Tôi sẽ sử dụng Page_PreLoad thay vì Page_Init, bởi vì nó được nâng lên sau khi tất cả dữ liệu postback được xử lý.

+0

Tôi đang có may mắn hơn với PreLoad hơn Init. Tôi không thể có vẻ để có được SelectedValue của ddl trong Init nhưng tôi có thể với preLoad. – zkent

2

Hãy thử Page_Init

+0

Bạn có nói rằng tôi có thể nhận được giá trị của một hộp thả xuống trong page_init không? – zkent

+0

Câu trả lời có liên quan nhiều hơn điều này rõ ràng, nhưng điều này sẽ chỉ cho bạn đi đúng hướng. Nếu bạn định làm việc với các biểu mẫu web, hãy làm quen với vòng đời của trang. Có lẽ điều này sẽ giúp: http://john-sheehan.com/blog/net-cheat-sheets –

+0

Có, bạn có thể nhận được giá trị được chọn trong Page_Init. Bạn thực sự muốn lấy nó trong một sự kiện bên ngoài Init/Load mặc dù (như một nút bấm, vv). –

0

Như đã đề cập trước đó, Page_Init là những gì bạn muốn. Nhưng tôi xin phép bạn làm cho các trang của bạn được kết hợp lỏng lẻo như có thể nhìn thấy được. Nhìn vào mẫu MVP cho người mới bắt đầu. Ngoài ra, hãy đảm bảo rằng hầu hết logic của bạn nằm trong đối tượng miền của bạn.

Không nên có quá nhiều mã trong sự kiện Page_Load. Nếu có, nó shoud được chia thành các phương pháp ngắn gọn để bạn không có mã điên.

+0

Tôi thừa kế mã này và tôi đã tái cấu trúc nó vô cùng để di chuyển mã vào các lớp và phương thức. Tuy nhiên, tôi vẫn muốn đọc giá trị PRIOR đến page_load – zkent