2010-07-15 16 views

Antwort

2

Sie sollten nicht einmal müssen Sie die Seite in Web Matrix öffnen, wenn Sie bereits VS2010 und MVC 3 installiert haben (die die Visual Studio Tools zum Erstellen von ASP.NET Razor Websites enthalten). Durch die Installation von MVC 3 werden die für die Entwicklung von Razor-Seiten erforderlichen Bibliotheken auch für vorhandene Webanwendungen verfügbar.

See:

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

Sie brauchen nicht eine neue Web-Seiten-Website (gemäß den Anweisungen) zu erstellen. Sie können einfach eine vorhandene Website öffnen, mit der rechten Maustaste auf den Stammordner der Site klicken, auf Element hinzufügen klicken und als Option "Webseite (Razor)" sehen.

Inellisense und Debugging funktioniert in den Razor Seiten ebenso wie die Web Forms-Seiten

Wie oben erwähnt, bedenken Sie, dass ASP.Net Web Pages (Razor) und ASP.Net WebForms sind wirklich unterschiedliche Plattformen und die wiederverwendbare Komponenten jeder kann nicht (oder zumindest nicht sollte)

+0

Ich weiß, das ist ein Nekro, aber dachte, es war es wert zu stoßen, nur für den Fall, dass Sie einen aktuellen Link dafür haben (der bestehende ist tot) –

9

Ja, können Sie Razor mit einer vorhandenen ASP.NET-Website verwenden. Öffnen Sie einfach Ihre Website mit dem WebMatrix-Tool und fügen Sie CSHTML-Dateien hinzu. Wenn Ihre Website WebForms-Steuerelemente verwendet, bietet das WebMatrix-Tool keine Hilfe bei der Arbeit mit vorhandenen ASPX-Seiten. Darüber hinaus unterstützt Razor WebForms nicht, sodass Sie in der Lage sein werden, etwas wie <asp:GridView> zu einer CSHTML-Datei hinzuzufügen.

1

marcind korrekt ist, wenn Sie Ihre bestehende ASP.NET-Website in WebMatrix öffnen möchten, und aus dem Werkzeug daran arbeiten. Wenn auf der anderen Seite (oder zusätzlich zu), möchten Sie Razor-Syntax in Ihrer Website verwenden und innerhalb von Visual Studio bleiben, lesen Sie in diesem Artikel: http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

Es gibt vier Dinge, die Sie tun müssen:

  1. hinzufügen von Verweisen auf den Razor Baugruppen mit WebMatrix installiert. Diese finden Sie unter C: \ Programme \ Microsoft ASP.NET \ ASP.NET Webpages \ v1.0 \ Assemblies

  2. Erstellen Sie eine benutzerdefinierte ViewEngine-Klasse, eine View-Klasse, die von IView erbt (nicht so schwer, überprüfen Sie die Quelle im Artikel oben out)

  3. Fügen Sie Ihre neue Viewengine in Global.asaxApplication_Start()

    ViewEngines.Engines.Add(new RazorViewEngine(("cs")); 
    
  4. erstellen Sie Ihre Ansicht Seiten mit einem .cshtml Erweiterung statt .aspx

Es gibt ein paar Schritte, die hier, aber es ist schnelle Arbeit, und die Quelle aus dem Artikel oben werden Sie einen langen Weg dorthin gelangen.

+4

der Viewengine in diesem Blog-Post werden tatsächlich nicht funktioniert so bitte nicht verwenden, es verwendet. Es gilt auch nur für ASP.NET MVC-Projekte. – marcind

+0

@marcind Welche spezifischen Probleme hatten Sie damit? Ich habe es selbst ausprobiert, bevor ich es vorgeschlagen habe, und hatte keine Probleme, aber es wäre gut zu wissen, welche Probleme Sie hatten, damit ich vermeiden kann, in Zukunft darauf hinzuweisen. Sie sind der zweite Punkt, wahr genug. Ich glaube, ich habe zu viel von der Frage ausgegangen, wo deine Antwort richtig war. –

+3

Dinge wie 'using (Html.BeginForm())' funktionieren nicht und andere Dinge im Zusammenhang mit dem Rendern von Teilansichten. – marcind