2011-03-09 57 views
1

使用ASP.NET MVC 3,我試圖將webform頁面遷移到Razor頁面。將webforms遷移到Razor

我無法找到一個方法來轉移這種代碼 我用這種代碼在網絡表單:

<script runat="server"> 
    protected override void OnInit(EventArgs e) 
    { 
      base.OnInit(e); 
      my other code here... 
    } 
</script> 

我不能找到一種方法,在剃刀翻譯這個。

回答

2

因爲ASP.NET MVC沒有像Web Forms一樣的「頁面生命週期」(這是件好事)。看看this StackOverflow question看兩者的比較。

您可以使用_ViewStart.cshtml用於此目的(任何視圖呈現前將執行)

_ViewStart.cshtml:

@{ 
    @* Your code here, e.g: *@ 
    ViewBag.Theme = "MyTheme" 
} 
+0

我的理解是_ViewStart.cshtml適用於 我有這麼多頁,每個人都有自己的初始化代碼 – user385411 2011-03-09 05:38:59

+0

@ user385411所有頁面 - 這是什麼代碼呢?難道它不能進入​​控制器嗎? – RPM1984 2011-03-09 06:28:16

0

怎麼樣的操作過濾器。動作過濾器是自定義屬性,它提供了一種聲明性方法來將動作前和動作後行爲添加到特定的控制器動作方法。聽起來這可能就是你要找的東西。

http://www.asp.net/mvc/mvc3