2010-07-15 15 views

Respuesta

2

Ni siquiera debería necesitar abrir el sitio en Web Matrix si ya tiene VS2010 y MVC 3 (que incluye las herramientas de Visual Studio para compilar sitios web ASP.NET Razor) instalados. La instalación de MVC 3 hace que las bibliotecas necesarias para desarrollar páginas Razor estén disponibles, incluso en aplicaciones web existentes.

Ver:

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

No es necesario para crear un nuevo sitio Web Pages (según las instrucciones). Puede abrir un sitio web existente, hacer clic con el botón derecho en la carpeta raíz del sitio, hacer clic en Agregar elemento y ver "Página web (Navaja)" como una opción.

Inellisense y depuración trabaja en las páginas de la maquinilla de afeitar al igual que las páginas Web Forms

Como se ha señalado anteriormente, tenga en cuenta que las páginas ASP.NET Web (Razor) y ASP.NET Web Forms son realmente diferentes plataformas, y el los componentes reutilizables de cada uno no pueden (o al menos no deberían) usarse.

+0

Sé que esto es una necro, pero pensé que valía la pena golpear solo en caso de que tengas un enlace actual para esto (el existente está muerto) –

9

Sí, puede usar Razor con un sitio web ASP.NET existente. Simplemente abra su sitio web con la herramienta WebMatrix y comience a agregar archivos CSHTML. Una advertencia es que si su sitio web usa controles de WebForms, la herramienta WebMatrix no proporcionará ninguna ayuda para trabajar con ellos en páginas aspx existentes. Además, Razor no es compatible con WebForms, por lo que no podrá agregar algo como <asp:GridView> a un archivo CSHTML.

1

marcind es correcto, si desea abrir su sitio web ASP.NET existente en WebMatrix y trabajar desde dentro de la herramienta. Si, por el contrario (o además de), desea utilizar la sintaxis de la maquinilla de afeitar en su sitio y permanecer dentro de VisualStudio, echa un vistazo a este artículo: http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

Hay cuatro cosas que hay que hacer:

  1. Agregar referencias a los ensamblajes Razor instalados con WebMatrix. Estos se pueden encontrar en C: \ Program Files \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies

  2. Crea una clase de ViewEngine personalizada, una clase View que hereda de IView (no tan difícil, echa un vistazo a la fuente en el artículo anterior)

  3. Añadir su nuevo ViewEngine en Global.asaxApplication_Start()

    ViewEngines.Engines.Add(new RazorViewEngine(("cs")); 
    
  4. Crear sus páginas de vista con una extensión .cshtml, en lugar de .aspx

Aquí hay unos pocos pasos, pero es un trabajo rápido, y la fuente del artículo anterior le llevará un largo camino hasta allí.

+4

El motor de visualización en esa publicación de blog en realidad no funciona, por favor no lo use. Además, solo se aplica a los proyectos ASP.NET MVC de todos modos. – marcind

+0

@marcind ¿Qué problemas específicos tenía con eso? Lo probé yo mismo antes de sugerirlo y no tuve ningún problema, pero sería bueno saber qué problemas tenía para poder evitar señalar a la gente en el futuro. En cuanto a usted es el segundo punto, es verdad. Creo que asumí demasiado de la pregunta, donde tu respuesta fue correcta. –

+3

Cosas como 'using (Html.BeginForm())' no funcionan y otras cosas relacionadas con la representación de vistas parciales. – marcind

Cuestiones relacionadas