2011-12-10 76 views
26

Tôi được yêu cầu giải thích vòng đời trang ASP.NET trong một cuộc phỏng vấn một thời gian. Tôi đã giải thích cho anh ấy, nhưng anh ấy không hài lòng với câu trả lời của tôi. Ai đó có thể giải thích vòng đời cho tôi được không?Lời giải thích về vòng đời trang ASP.NET

Trả lời

2

Tôi nghĩ Microsoft đã làm tốt công việc này. Tôi chỉ tóm tắt tóm tắt của họ, rút ​​ra những phần quan trọng nhất của mỗi sự kiện.

ASP.NET Page Life Cycle Overview

1

trả lời đã được đăng bởi những người khác. chỉ cần chia sẻ các mã phím tắt để nhớ các giai đoạn vòng đời asp.net mà tôi đi qua trong bài viết dưới đây.

R-SIL-VPRU

  1. Yêu cầu
  2. Bắt đầu
  3. Khởi
  4. tải
  5. Validation
  6. bài viết lại xử lý
  7. Rendering
  8. Unload

    How to remember asp.net page life cycle in easy way

-2

PreInit:

Bạn có thể:

Kiểm tra tài sản IsPostBack để xác định xem đây là lần đầu tiên trang đang được xử lý. Tạo hoặc tạo lại các điều khiển động. Đặt trang chính động. Đặt thuộc tính Chủ đề động. Đọc hoặc đặt giá trị thuộc tính hồ sơ. Nếu yêu cầu được gửi lại:

Giá trị của các điều khiển chưa được khôi phục từ trạng thái xem. Nếu bạn đặt thuộc tính điều khiển ở giai đoạn này, giá trị của nó có thể bị ghi đè trong sự kiện tiếp theo. Init:

Trong sự kiện Init của các điều khiển riêng lẻ xảy ra trước, sau đó sự kiện Init của Trang diễn ra. Sự kiện này được sử dụng để khởi tạo các thuộc tính điều khiển. InitComplete:

Theo dõi của ViewState được bật trong sự kiện này. Mọi thay đổi được thực hiện cho ViewState trong sự kiện này đều được lưu lại ngay cả sau lần đăng sau. Tải trước:

Sự kiện này xử lý dữ liệu đăng lại được bao gồm trong yêu cầu. Tải:

Trong trường hợp này đối tượng Trang gọi phương thức OnLoad trên chính đối tượng Trang, sau đó phương thức OnLoad của các điều khiển được gọi. Do đó tải sự kiện của các điều khiển riêng lẻ xảy ra sau khi sự kiện tải của trang. ControlEvents:

Sự kiện này được sử dụng để xử lý các sự kiện kiểm soát cụ thể như sự kiện Nhấp của kiểm soát nút hoặc sự kiện TextChanged của TextBox. Trong trường hợp postback:

Nếu trang chứa bộ kiểm soát hợp lệ, thuộc tính Page.IsValid và xác thực của các điều khiển diễn ra trước khi kích hoạt các sự kiện điều khiển riêng lẻ. LoadComplete:

Sự kiện này xảy ra sau giai đoạn xử lý sự kiện. Sự kiện này được sử dụng cho các tác vụ như tải tất cả các điều khiển khác trên trang. PreRender:

Trong trường hợp này, sự kiện PreRender của trang được gọi trước và sau đó để điều khiển con. Cách sử dụng:

Phương pháp này được sử dụng để thực hiện các thay đổi cuối cùng đối với các điều khiển trên trang như chỉ định DataSourceId và gọi phương thức DataBind. PreRenderComplete:

Sự kiện này được nâng lên sau khi thuộc tính PreRender của mỗi kiểm soát được hoàn tất. SaveStateComplete:

Điều này được nâng lên sau khi trạng thái kiểm soát và trạng thái xem đã được lưu cho trang và cho tất cả các điều khiển. RenderComplete:

Đối tượng trang gọi phương thức này trên mỗi điều khiển có trên trang. Phương pháp này viết đánh dấu kiểm soát để gửi đánh dấu cho trình duyệt. Dỡ bỏ:

Sự kiện này được nâng lên cho mỗi điều khiển và sau đó cho đối tượng Trang. Cách sử dụng:

Sử dụng sự kiện này trong điều khiển cho công việc dọn dẹp thức, chẳng hạn như đóng kết nối cơ sở dữ liệu mở, đóng mở các tập tin vv

1

ASP.Net Page life cycle overview

Khi một trang ASP.Net chạy, trang trải qua một vòng đời trong đó ir thực hiện một loạt các bước xử lý.Những bao gồm

  • Khởi
  • Instantiating điều khiển
  • Restroring và duy trì trạng thái
  • Chạy mã xử lý sự kiện, và
  • Rendering

Tại sao chúng ta cần phải học ASP.Net Trang vòng đời?

Điều quan trọng là bạn phải hiểu vòng đời trang để bạn có thể viết mã ở giai đoạn vòng đời thích hợp cho hiệu quả bạn dự định.

Nếu bạn phát triển các điều khiển tùy chỉnh, bạn phải quen thuộc với vòng đời trang tha để điều khiển khởi tạo chính xác, điền mã hành vi kiểm soát. Vòng đời của một điều khiển được dựa trên vòng đời trang và trang tăng nhiều sự kiện mà bạn cần để xử lý trong một điều khiển tùy chỉnh.

chung sống Trang chu kỳ statges:

Một số phần của vòng đời chỉ xảy ra khi một trang được xử lý như postback. Đối với đăng lại, vòng đời của trang giống nhau trong khi đăng một phần (như khi bạn sử dụng điều khiển Bảng điều khiển Cập nhật) vì nó trong quá trình đăng lại toàn bộ trang.

  1. Yêu cầu trang
  2. Bắt đầu
  3. Khởi
  4. tải
  5. Postback sự kiện xử lý
  6. Rendering
  7. Unload

1). Yêu cầu trang:

Yêu cầu trang xảy ra trước khi vòng đời trang bắt đầu. Khi trang được yêu cầu bởi người dùng, ASP.Net xác định liệu trang có cần phải được phân tích cú pháp và biên dịch (do đó bắt đầu cuộc đời của một trang web) hay không hoặc liệu phiên bản được lưu trong bộ nhớ cache của trang có thể được gửi đi mà không cần chạy trang hay không.

Read complete article on "ASP.Net Page life cycle overview" here.

-2
Partial Class _Default 
    Inherits System.Web.UI.Page 
    Dim str As String 

    Protected Sub Page_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed 

     str += "PAGE DISPOSED" & "<br />" 
    End Sub 

    Protected Sub Page_Error(sender As Object, e As System.EventArgs) Handles Me.Error 
     str += "PAGE ERROR " & "<br />" 
    End Sub 

    Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init 
     str += "PAGE INIT " & "<br />" 
    End Sub 

    Protected Sub Page_InitComplete(sender As Object, e As System.EventArgs) Handles Me.InitComplete 
     str += "INIT Complte " & "<br />" 
    End Sub 

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
     str += "PAGE LOAD " & "<br />" 

    End Sub 

    Protected Sub Page_LoadComplete(sender As Object, e As System.EventArgs) Handles Me.LoadComplete 
     str += "PAGE LOAD Complete " & "<br />" 
    End Sub 

    Protected Sub Page_PreInit(sender As Object, e As System.EventArgs) Handles Me.PreInit 
     str = "" 
     str += "PAGE PRE INIT" & "<br />" 
    End Sub 

    Protected Sub Page_PreLoad(sender As Object, e As System.EventArgs) Handles Me.PreLoad 
     str += "PAGE PRE LOAD " & "<br />" 
    End Sub 

    Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender 
     str += "PAGE PRE RENDER " & "<br />" 
    End Sub 

    Protected Sub Page_PreRenderComplete(sender As Object, e As System.EventArgs) Handles Me.PreRenderComplete 
     str += "PAGE PRE RENDER COMPLETE " & "<br />" 
    End Sub 

    Protected Sub Page_SaveStateComplete(sender As Object, e As System.EventArgs) Handles Me.SaveStateComplete 
     str += "PAGE SAVE STATE COMPLTE " & "<br />" 
     lbl.Text = str 
    End Sub 

    Protected Sub Page_Unload(sender As Object, e As System.EventArgs) Handles Me.Unload 
     'Response.Write("PAGE UN LOAD\n") 
    End Sub 
End Class 
3

Có 10 sự kiện trong ASP.NET vòng đời trang và trình tự là: - Init, Load view state, PostBackdata, Load, Validate, tổ chức sự kiện, Pre-render, Save xem trạng thái, Render và Unload.

Dưới đây là chế độ xem ảnh của vòng đời Trang ASP.NET với loại mã được mong đợi trong sự kiện đó. Tôi sẽ đề nghị bạn đọc bài viết này trên ASP.NET Page life cycle giải thích tất cả 10 sự kiện chi tiết và thời điểm sử dụng chúng.

enter image description here

+0

Hình ảnh đẹp. Tôi có thể hiển thị điều này để quản lý để giúp họ hiểu những gì tôi đang cố gắng giải thích về nhiều chuyến đi đến cơ sở dữ liệu do mã spaghetti. – JoshYates1980

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