es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuál es la convención de ASP.NET Core para las páginas estáticas que no son de MVC?

Estoy convirtiendo mi sitio web de Web Forms a .NET Core. No quiero cambiar el nivel de directorio de varios archivos, por ejemplo:

MYDOMAIN.com/FAQ.html
MYDOMAIN.com/Privacy.html

Al usar el middleware UseStaticFiles(), puedo colocar estos archivos en la carpeta wwwroot y se servirán tal como están. Sin embargo, no sé cómo aplicar una página de diseño con el tema de mi sitio web a esos archivos, ya que están fuera del marco de trabajo de MVC.

Me gustaría aprovechar los archivos de diseño y el marco de trabajo de MVC utilizando archivos .cshtml, pero también estoy tratando de evitar el directorio de controlador adicional que se impone en la URL:

MYDOMAIN.com/home/FAQ.html
MYDOMAIN.com/home/Privacy.html

Tal vez esto sea miope, ¿pero cómo manejan esto los desarrolladores?

En realidad, mis archivos existentes son .aspx en este momento, no archivos .html, lo que agrega otro nivel de confusión en cuanto a cuál es la convención para migrar a .Net Core. ¿Debería usar archivos .aspx en algún lugar del proyecto o todos deberían convertirse en archivos .cshtml / .html? ¿O algo más?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en asp.net-core, razor y webforms, aquí están mis sugerencias para las preguntas planteadas:

    1. Para aplicar una página de diseño con el tema de su sitio web a los archivos HTML existentes fuera del marco MVC, puede crear un archivo .cshtml envolvente en la carpeta Views con el mismo nombre que el archivo HTML. Por ejemplo, si tiene un archivo FAQ.html, puede crear un archivo FAQ.cshtml en la carpeta Views y aplicar el diseño deseado allí. Luego, puede utilizar el middleware UseStaticFiles() para servir el archivo FAQ.html tal como está. De esta manera, el archivo .cshtml envolvente actúa como un diseño para su archivo HTML.

    2. Si desea evitar el directorio /home/ en su URL, puede utilizar el middleware UseStaticFiles() para servir sus archivos HTML tal como están. Sin embargo, esto significa que no puede utilizar el enrutamiento MVC para esos archivos. Alternativamente, puede utilizar enrutamiento personalizado para asignar las URL a sus archivos HTML. Por ejemplo, puede asignar MYDOMAIN.com/FAQ a MYDOMAIN.com/faq.html. De esta manera, puede utilizar el marco MVC y las páginas de diseño para sus páginas HTML.

    3. En cuanto a la migración de Web Forms a .Net Core, puede convertir sus archivos .aspx a archivos .cshtml. Esto implica reescribir su marcado utilizando la sintaxis Razor. También puede optar por utilizar archivos .html en lugar de archivos .cshtml si no necesita las funciones dinámicas de Razor. Se recomienda utilizar archivos .cshtml si planea utilizar el marco MVC.

    4. Por último, en cuanto a la convención de utilizar archivos .aspx en el proyecto, se recomienda evitar su uso en un proyecto .Net Core si es posible. En su lugar, utilice archivos .cshtml para las vistas de Razor y archivos HTML estáticos para el contenido estático.

Comments are closed.