2009-08-26 56 views
1

我想知道什麼是首先處理的:如果代碼放在aspx部分(使用服務器標籤<%%>)或後面的代碼中,因爲我在服務器標籤和I之間的aspx中放置了填充Page_Load中的變量有價值的時候沒有得到任何東西。什麼是首先處理的:aspx或aspx.vb代碼?

任何人都可以在某些方向上指向我,如討論包含aspx代碼的頁面生命週期的文章?

謝謝!

回答

1

至於其他的海報說,有一個記錄的生命週期。

除此之外,代碼隱藏表示基類,aspx是派生類。 ASPX中的標記實際上編譯爲本地代碼,所以真正的答案是頁面和代碼隱藏本質上是一個實例,因爲編譯後的ASPX繼承了代碼隱藏中的頁派生代碼。

-Oisin

+0

繼承不再成立。 ASPX是部分類聲明的一部分,後面的文件是_same_ partial類的另一部分。 – 2009-08-26 16:55:51

+0

啊,從來沒有注意到。不過,效果是一樣的。 – x0n 2009-08-26 17:04:41

1

當HttpHandler的調用的ProcessRequest()方法,它開始與創建從.aspx文件一個自動生成的類。這個自動生成的類將爲.aspx頁面創建頁面的控制層次,該頁面只是將聲明語法轉換爲C#或VB中的實際代碼。這個自動生成的類然後與類之後的部分代碼結合起來。現在這個完成的類將作爲.aspx頁面的基類。該類存儲在\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET文件中。並且這個類將服務於頁面的所有請求。因此,如果您在部分代碼背後聲明瞭任何Protected/public變量,並且您在Page_load中使用某個值填充該變量,並且如果您想使用<%= variablename%>在.aspx頁上進行打印,則應該輸出值在網頁上的Page_Load中分配。

+0

非常有用,謝謝! – Sebastian 2009-08-26 19:14:55

相關問題