2010-11-02 21 views
24

Tôi đang sử dụng ASP.NET 3.5 và tôi đã sử dụng trước đó 1.1 i am gặp khó khăn để tìm nơi tôi có thể đính kèm/tuyên bố sự kiện trang init?Sự kiện ASP.NET page_init?

Trong 1.1 có mã được tạo tự động được sử dụng để có mã khởi tạo. Nơi chúng ta có thể thêm phương thức init của trang. Vì vậy, tôi bối rối xin vui lòng giúp đỡ.

Trả lời

43

Chỉ cần tuyên bố điều này trong mã của bạn đằng sau:

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
    } 
+1

Nhưng đối với tệp đính kèm sự kiện, chúng tôi cần thực hiện một việc như page.OnInit + = evnetHnaglerName (Tên người gửi , EventArgs) được khai báo ở đâu ...? đó là nơi tôi bối rối hơn. –

+0

không, bởi vì bạn đang ghi đè phương pháp. Đây là tất cả được chăm sóc cho bạn. – kemiller2002

+0

Nó không giống như 1,1 nơi bạn có thể xem mã. Họ đã giấu rất nhiều thứ trong phần khác của lớp học. – kemiller2002

0

bạn có thể thêm phương thức page_init vào tệp CS của trang. Ví dụ, nếu bạn có Default.aspx bạn có thể đặt phương thức trong Default.aspx.cs

Khi bạn tạo một trang trong VS, bạn sẽ có phương thức Page_Load được tạo cho bạn. Bạn có thể đặt mã page_init của mình & mã khác cho trang int tệp CS.

PS: Nếu bạn sử dụng VB như mã phía máy chủ, bạn sẽ phải đặt nó trong tập tin VB

0

Nó không khác gì trong ASP.NET 3.5 - có một mã đằng sau trang mà bạn có thể khai báo/đính kèm sự kiện OnInit.

Để xem mã phía sau, nhấp chuột phải vào tệp trong trình khám phá giải pháp và chọn View code.

6

Bạn không cần phải để ràng buộc sự kiện này. Chỉ cần tạo trình xử lý sự kiện cho nó và nó sẽ bị ràng buộc automaticlaly:

protected void Page_Init(object sender, EventArgs e) { 
    ... 
} 
60

ASP.NET 2.0 thay đổi mô hình thiết kế/biên dịch mặc định.

Theo mặc định AutoEventWireup được thiết lập là true, mà chỉ thị biên dịch để tự động đính kèm xử lý sự kiện từ mã đằng sau sử dụng đặt tên ước, vì vậy khi bạn viết:

protected void Page_Load(...) 
{ 

} 

nó tự động đặt mã này trong đằng sau hậu trường:

this.Load += new EventHandler(this.Page_Load) 

này trước đây đã được thực hiện bởi InitialiseComponent() (tôi tin).

Tuy nhiên, câu trả lời là để viết mã cho mình:

protected void Page_Init(object sender, EventArgs e) 
{ 
    // do the bartman 
} 
+6

+1 cho Autoeventwireup – Pankaj

+0

Vấn đề duy nhất là không có tính năng tự động hoàn tất. Bạn phải biết cú pháp chính xác của trình xử lý sự kiện. – FrenkyB

0

chỉ cần thêm mình với chữ ký

protected void Page_Init() 
{ 
    // 
} 
2

Đối với những người sử dụng asp/vb.net bạn cần khai báo trong mã đằng sau như: Trang con được bảo vệ Page_Init (Người gửi ByVal dưới dạng Đối tượng, ByVal e Như EventArgs) Xử lý Me.Init

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