jueves, 27 de agosto de 2009

Custom ASP.net Web Application in MOSS

Actualmente para un proyecto hemos decidido crear una aplicación web dentro del directorio _layouts de MOSS 2007, nos encontrabamos con el error siguiente al cargar una master page que esta ubicada en el mismo directorio _layouts:

The referenced file '/TEMPLATE/LAYOUTS/MyWebApp/MyMasterPage.master' is not allowed on this page. at System.Web.UI.TemplateParser.ProcessError(String message) at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile) at System.Web.UI.PageParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective)

Para solucionarlo hemos hecho lo siguiente:

- Modificar el atributo MasterPageFile de la directiva Page de nuestra custom .aspx indicandole la página maestra application.master.



MasterPageFile="~/_layouts/application.master"



- Luego en el fichero .cs (Code Behind) hemos asignado nuestra página maestra en el evento PreInit



protected void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "~/_layouts/MyWebApp/MyMasterPage.master";
}

No hay comentarios: