Estoy creando una solución ASP.NET MVC, y en mi interior tenía 2 proyectos de sitio web MVC.¿Cómo puedo hacer referencia a una vista maestra en un proyecto diferente en ASP.NET MVC?
Estoy interesado en crear un tercer proyecto llamado "Compartido", donde puedo hacer referencia a las vistas/contenido compartidos entre los dos sitios, por lo que tengo un solo lugar para editarlos.
- WebUI.Site1 (MVC Sitio ASP.NET)
- WebUI.Site2 (ASP.NET MVC Site)
- WebUI.Shared (recién creado ASP.NET MVC Site)
¿Cómo puedo hacer referencia a la ubicación de Masterview si está en un proyecto diferente?
Así, normalmente en la parte superior de un punto de vista que haría referencia a un Masterview así:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Tabbed.Master" Inherits="System.Web.Mvc.ViewPage<WebUI.ViewModels.Admin.EditProfileViewModel>" %>
Sin embargo,
Ahora, que "Tabbed.Master" no está en el proyecto local, está en un proyecto diferente en la solución. He creado una referencia al proyecto, pero no sé cómo hacer referencia a Tabbed.Master desde WebUI.Site1 a WebUI.Shared?
Algo así como:
<%@ Page Title="" Language="C#" MasterPageFile="WebUI.Shared.Views.Tabbed.Master" Inherits="System.Web.Mvc.ViewPage<WebUI.ViewModels.Admin.EditProfileViewModel>" %>
no funciona.
¿Cómo puedo hacer referencia a la ubicación de cosas como masterviews, archivos css, imágenes en proyectos como ese?
Esto no funcionará. No puede simplemente apuntar a un aspx/ascx o SiteMaster en otra ruta virtual y hacer que se convierta en parte de su base de código. –
@Nissan Fan - Sí, puedes. Acabo de configurar un proyecto de prueba para verificar mi afirmación. A IIS no le importa si una página maestra determinada está en el mismo proyecto web que la raíz web. Siempre que las referencias y las rutas se puedan encontrar desde la raíz del sitio web, IIS está contento. Esto supone que está utilizando IIS para configurar los sitios: esta técnica no funcionará bien con el servidor de desarrollo ASP.NET integrado de Visual Studio. – Brandon