2011-07-20 127 views
3

在使用ASP.NET網頁查看Razor視圖引擎的最新版本時,它看起來不錯,因爲它具有完整的Razor支持。那麼有人可以給我一個推理,說明爲什麼我可能想要通過Razor視圖引擎選擇帶有傳統Web窗體的ASP.NET Web頁面,或者使用ASP.NET MVC中的Razor視圖引擎伴侶?使用Razor over ASP.NET MVC的ASP.NET網頁MVC Razor Views

每網頁,我說可以用VS 2010 SP 1這個新的網站框架:http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

感謝。

回答

2

[修改回答標題提出的問題]

作爲一個有經驗的開發者,當你想要得到的東西很快完成,你會使用網頁框架(POC,例如),或者如果你可能想教某個人如何開始使用ASP.NET。

你在這裏問兩個單獨的問題:MVC中的Web窗體視圖引擎vs Razor視圖引擎,以及Web頁框架與Web窗體框架。

正如其他人所說,第一個決定將取決於優先。其他任何東西都沒有。這有點像C#或VB的辯論。

網頁框架旨在爲初學者提供比Web窗體或MVC更容易的「入」。它可以被認爲是一個非常遲緩的替代品,更簡單的經典ASP框架,它在這方面與PHP競爭。如果你需要分離,可測試性等,你應該看看MVC框架。在企業發展方法方面,Web Pages框架根本沒有提供太多的東西。 用於Web表單,您不可能從Web頁面獲得任何內容。分離要困難得多。它不鼓勵分層代碼或測試。沒有服務器控件或代碼隱藏文件。而Web頁面只提供網站部署(第一次運行時編譯),而不是可以預編譯的Web應用程序。

Razor本身是爲Web頁框架開發的。 MVC喜歡它,並將其用作新的視圖引擎選項。但從本質上講,您現在有三個ASP.NET框架可供選擇:Web頁面,Web窗體和MVC。

+0

我並沒有問兩個單獨的問題,我用Razor視圖引擎與MVC + Razor View Engine問Web網頁框架。 –

+0

您的問題詢問Web窗體。您不能在Web窗體中使用Razor。 –

+0

好吧,這是一個錯字,但標題說明了這一切。 –

3

剃刀中的標記更具可讀性。當您的產品已使用Web表單視圖引擎時,您可以在過渡到剃鬚刀視圖時並排運行剃鬚刀,這對於中型到大型項目可能有很多工作。請記住,在此過渡期間,partials可能是剃鬚刀或Web表單,但視圖和它使用的母版頁必須使用相同的引擎。

+0

感謝您提醒有關使用相同引擎的主站點和Web窗體 - 我還沒有遇到過,但我想知道... :) – GalacticCowboy

+0

是的,我同意,我問在上下文中帶有Razor的新ASP.NET網頁框架,其中Web表單具有剃刀語法......儘管顯然沒有代碼隱藏。 –

1

主要理由選擇剃刀:

  • 簡潔 - 你的網頁的HTML結構是顯而易見的,並且不會有很多的<%%>無處不在。 (我喜歡乾淨的HTML,它讓我的OCD發癢......)
  • 流利 - 服務器端代碼和HTML之間的簡單轉換,不會強制您顯式地進行上下文切換。
+0

我同意你的觀點。但現在,ASP。NET網頁(不是網頁表單)具有剃鬚刀語法,你會用MVC的實現嗎? –

+2

對不起,我沒有意識到這是個問題。這實際上是一個「WebForms」與「MVC」的問題,因爲視圖引擎只佔總方程的一小部分。我的個人偏好是MVC,儘管這與Razor沒什麼關係。 – GalacticCowboy