2010-07-15 1 views

Répondre

2

Vous ne devriez même pas avoir besoin d'ouvrir le site dans Web Matrix si vous avez déjà installé VS2010 et MVC 3 (qui inclut les outils Visual Studio pour créer des sites Web ASP.NET Razor). L'installation de MVC 3 rend les bibliothèques nécessaires au développement des pages Razor, même pour les applications Web existantes.

Voir:

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

Vous n'avez pas besoin de créer un nouveau site Web Pages (selon les instructions). Vous pouvez simplement ouvrir un site Web existant, cliquez avec le bouton droit sur le dossier racine du site, cliquez sur Ajouter un élément et vous devriez voir "Page Web (Rasoir)" en option.

Inellisense et le débogage fonctionne dans les pages de rasoir, tout comme les pages Web Forms

Comme indiqué plus haut, gardez à l'esprit que ASP.Net Web Pages (Razor) et des plates-formes sont WebForms ASP.Net vraiment différentes, et les composants réutilisables de chacun ne peuvent pas (ou du moins ne devraient pas) être utilisés

+0

Je sais que c'est un necro, mais je pensais que ça valait la peine de se cogner juste au cas où vous avez un lien actuel pour cela (l'existant est mort) –

9

Oui, vous pouvez utiliser Razor avec un site Web ASP.NET existant. Ouvrez simplement votre site Web à l'aide de l'outil WebMatrix et commencez à ajouter des fichiers CSHTML. L'une des mises en garde est que si votre site web utilise des contrôles WebForms, l'outil WebMatrix ne fournira aucune aide pour les utiliser dans les pages aspx existantes. De plus, Razor ne prend pas en charge WebForms, vous ne pourrez donc pas ajouter quelque chose comme <asp:GridView> à un fichier CSHTML.

1

marcind est correct, si vous voulez ouvrir votre site Web ASP.NET existant dans WebMatrix et travailler dessus depuis l'outil. Si, d'autre part (ou en plus), vous voulez utiliser la syntaxe Razor dans votre site et rester dans VisualStudio, consultez cet article: http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

Il y a quatre choses que vous devez faire:

  1. Ajout de références aux assemblys Razor installés avec WebMatrix. Ceux-ci peuvent être trouvés à C: \ Program Files \ Microsoft ASP.NET \ Pages Web ASP.NET \ v1.0 \ Assemblies

  2. Créer une classe ViewEngine personnalisée, une classe View qui hérite de IView (pas si difficile, vérifier la source dans l'article ci-dessus)

  3. Ajouter votre nouveau ViewEngine dans Global.asaxApplication_Start()

    ViewEngines.Engines.Add(new RazorViewEngine(("cs")); 
    
  4. Créez vos pages d'affichage avec une extension .cshtml, au lieu de .aspx

Il y a quelques étapes ici, mais c'est un travail rapide, et la source de l'article ci-dessus vous permettra d'aller loin.

+4

Le viewengine dans ce billet de blog ne fonctionne pas réellement alors s'il vous plaît ne l'utilisez pas. De plus, il ne s'applique qu'aux projets ASP.NET MVC. – marcind

+0

@marcind Quels problèmes spécifiques avez-vous rencontrés? Je l'ai essayé moi-même avant de le suggérer et je n'ai eu aucun problème, mais il serait bon de savoir quels problèmes vous avez rencontrés afin d'éviter d'y faire référence à l'avenir. Quant à vous êtes deuxième point, c'est vrai. Je pense que j'ai supposé trop de la question, où votre réponse était correcte. –

+3

Des choses comme 'using (Html.BeginForm())' ne fonctionnent pas et d'autres choses liées au rendu des vues partielles. – marcind

Questions connexes