2010-07-15 66 views

回答

2

如果您已經安裝了VS2010和MVC 3(其中包括用於構建ASP.NET Razor網站的Visual Studio工具),則甚至不需要在Web Matrix中打開網站。安裝MVC 3使開發Razor頁面所需的庫,甚至現有的Web應用程序都可用。

參見:

http://www.asp.net/webmatrix/tutorials/program-asp-net-web-pages-in-visual-studio

你並不需要創建一個新的網頁的網站(根據說明書)。你可以打開一個現有的網站,右鍵點擊該網站的根文件夾,點擊添加項目,你應該看到「網頁(Razor)」作爲一個選項。

Inellisense和調試工作在剃刀頁面就像Web窗體頁

如上所述,記住,ASP.Net Web頁(剃刀)和ASP.Net Web窗體真的是不同的平臺,和每個可重用組件不能(或至少不應該)使用

+0

我知道這是一個necro,但認爲這是值得一碰,以防萬一你有一個當前的鏈接(現有的鏈接已經死了) – 2015-10-06 15:29:15

9

是的,你可以在現有的ASP.NET網站上使用Razor。只需使用WebMatrix工具打開您的網站並開始添加CSHTML文件。 一個警告是,如果您的網站使用WebForms控件,WebMatrix工具將不會在現有的aspx頁面中提供任何幫助。此外,Razor不支持WebForms,因此您將無法將諸如<asp:GridView>之類的內容添加到CSHTML文件中。

1

如果您想在WebMatrix中打開您現有的ASP.NET網站並從該工具中對其進行處理,則marcind是正確的。如果,另一方面(或補充),要使用剃刀語法在您的網站,並保持內的VisualStudio,看看這篇文章:http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

有四件事情你需要做的:

  1. 將引用添加到隨WebMatrix安裝的Razor組件。這些可以在C:\ Program Files \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies

  2. 創建一個自定義ViewEngine類,一個繼承自IView的View類(不那麼難,檢查出的源上述文章)

  3. 在添加新的視圖引擎在Global.asaxApplication_Start()

    ViewEngines.Engines.Add(new RazorViewEngine(("cs")); 
    
  4. .cshtml擴展創建視圖頁面,而不是.aspx

這裏有幾個步驟,但它是快速的工作,並從上面的文章來源將讓你有很長的路要走。

+4

該博客文章中的viewengine實際上並不工作,所以請不要使用它。而且,它只適用於ASP.NET MVC專案。 – marcind 2010-07-19 20:08:46

+0

@marcind你有什麼具體問題?在提出建議之前我自己試了一下,沒有任何問題,但最好知道你有什麼問題,這樣我就可以避免將它指向未來。 至於你第二點,確實夠了。我想我對這個問題的看法太多了,你的回答是正確的。 – 2010-07-19 21:40:54

+3

像'using(Html.BeginForm())'這樣的東西不起作用,其他的東西與渲染局部視圖有關。 – marcind 2010-07-19 21:59:58

相關問題