2011-11-18 66 views
3

我在.apsx的<head>中有一些代碼我想移動到我的.cs文件。所以我只是將它移動到我的Page_Load()中,並且它會導致相同的結果?謝謝。將代碼從.aspx文件移動到.cs文件沒有任何區別

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da"> 
<head> 
    <% 
     var v = new Something(); // Want to move this to .cs 
    %> 
</head> 
</html> 

等於?

protected void Page_Load(object sender, EventArgs e) 
{ 
    var v = new Something(); 
} 
+8

完全取決於你在這裏如何使用'v'。 – asawyer

+0

你想用這個做什麼? –

+0

有趣。我可以添加實際的行而不是「var v = new Something();」但我不知道這是否會有所幫助。你怎麼看?我可以做其他任何澄清嗎?或者,也許,如果有人能指引我正確的方向,所以我可以閱讀更多關於這個。我不知道從哪裏開始。 – radbyx

回答

2

正如其他人所提到的,它取決於你的代碼做的正是。

您的代碼片段var v = new Something();將完全相同。

但是,這兩段代碼的執行時間有很大不同。在運行實際的aspx頁面上的任何代碼之前,Page_Load都會發生。我相信,在aspx頁面上的代碼本身不會運行,直到渲染事件。您可以查看Page Lifecycle以查看完整的事件列表。

+0

其實我的Page_Load目前是空的,所以爲了知道我想我不會受傷:) – radbyx

+0

@radbyx Page_Load不是空的或者有代碼的,這是事情發生的時候可能最重要的事情。 –

+0

是的,我知道你的意思。我只是說,只要我的課沒有放任何東西,我就不會破壞我的想法。 – radbyx

2

這取決於你想如果你想讓它可以通過所有的頁面只是聲明爲一個類的成員使用訴 範圍。

+0

好的範圍只是這個網頁/類,所以我應該罰款我猜。 – radbyx

0

是的,或者你可以繼承到其他名字

1
protected Something v; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    v = new Something(); 
} 

這更接近你所擁有的,這樣你實際上仍然可以在aspx頁面中使用變量。

1

這取決於你想要移動的邏輯 - 在頁面加載或任何事件火災。

相關問題