2012-09-13 40 views
0

只是好奇,因爲我似乎無法找到解釋這一點的任何信息。_init頁面是否像ASP.NET一樣使用MVC 4?

+1

我想你使用的是一些不常用的術語。定義「_init頁面」的含義。你是否喜歡Page_Init,Page_Load等? –

+0

我對此表示歉意,我指的是「_init.cshtml」頁面,它將純粹是代碼文件,並在文件夾中的任何頁面之前執行。我剛剛瞭解到這種類型的頁面,並認爲這將是一個很好的地方,可以堅持基於角色的授權規則來保護對網站某些部分的訪問。但是也許MVC通常會在其他地方做類似的事情......可能在控制器內是正確的? –

回答

0

編號_init.cshtml頁面(現在在WebPages2中重命名爲PageStart.cshtml)不是Razor的功能,而是WebPages系統的一個功能。

WebPages沒有控制器或其他機制將代碼與視圖分開,所以添加這些代碼是爲了解決這個問題。

無論如何,MVC不會使用它們。

0

如果你的意思是_underscore符號,那麼在MVC中沒有這樣的。
MVC中也沒有頁面初始化事件,下面是MVC和WebForms生命週期比較的比較。

+0

只有在使用Razor ViewEngine(或其他非WebForms ViewEngine)時纔是如此。如果您使用的是WebForms視圖引擎,那麼可以使用Page_Init,Page_Load等來實現代碼隱藏......這些通常只用於傳統場景,不建議使用。 –

+0

冬青牛!但是控制器與ViewEngines是分離的,這怎麼可能? – Dima

+0

是的,我知道這令人難以置信,但實際上可能有一個代碼,因爲WebForms視圖引擎在呈現視圖時自己處理它。所以基本上Page_Load會在你從action方法返回View()時發生。 –