Estoy intentando utilizar la funcionalidad de "Módulo de enrutamiento" de ASP.NET (3.5) para crear páginas personalizadas basadas en el contenido de la URL.Creación de System.Web.UI.Page programáticamente en IHTTPHandler
Varios artículos, como este: http://blogs.msdn.com/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx explican cómo usar el enrutamiento ASP.NET para bifurcar a las páginas existentes en el servidor web.
Lo que me gustaría hacer es crear la página sobre la marcha usando el código.
Mi primer intento se ve así:
public class SimpleRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string pageName = requestContext.RouteData.GetRequiredString("PageName");
Page myPage = new Page();
myPage.Response.Write("hello " + pageName);
return myPage;
}
}
Pero esto arroja una HttpException diciendo "La respuesta no está disponible en este contexto". en la declaración Response.Write.
¿Alguna idea sobre cómo proceder?
ACTUALIZACIÓN: Al final, fui con un enfoque basado en IHttpModule, que resultó ser bastante fácil.
Sólo quería darle las gracias por lo que sugiere que 'BuildManager.CreateInstanceFromVirtualPath'. Me ayudó mucho en algo en lo que estaba trabajando. –
Página p = (Página) BuildManager.CreateInstanceFromVirtualPath ("~/MyPage.aspx", typeof (Página)); –