En la maquinilla de afeitar, al cargar una vista parcial, es posible que sólo tiene que especificar el nombre de vista parcial, y el motor de vistas Razor buscará en el RazorViewEngine.PartialViewLocationFormats:¿Es posible especificar formatos de ubicación con capacidad de búsqueda para un diseño MVC Razor?
@Html.RenderPartial("_PartialView", Model);
en realidad buscar en los lugares especificados en PartialViewLocationFormats en el motor de vista, como por ejemplo
~/Views/Home/_PartialView.cshtml
~/Views/Shared/_PartialView.cshtml
Sin embargo, cuando se especifica la disposición, que parecen ser obligado a especificar una ruta específica para el diseño:
@Layout = "~/Views/Shared/MyLayout.cshtml";
Lo que me gustaría hacer sería especificar el diseño sólo por su nombre, y tienen el la disposición real puede encontrar buscando en una lista de lugares comunes:
@Layout = "MyLayout";
... pero no puedo' t encuentra instalaciones para hacerlo. Como no pude encontrar ninguna documentación al respecto, intenté jugar con la configuración de RazorViewEngine.MasterLocationFormats, pero esta propiedad no se usa al ubicar diseños.
¿Alguien sabe cómo hacer esto?
Gracias, esto funcionó para mí.Aunque, ha pasado un año, ¿alguien ha encontrado una mejor solución que me permita decir Layout = "Main2Col.cshmtl" en lugar de necesitar toda esa línea de código? – happyfirst
Cree su propia clase WebViewPage -derivada y haga que todas sus vistas hereden de ella. En él, anula el diseño y en el ejecutar el código anterior. http://odetocode.com/Blogs/scott/archive/2011/01/09/razor-tip-2-inheritance-amp-configuration.aspx –
sowee15