Ich versuche, die ASP.NET (3.5) "Routing Modul" -Funktion zu verwenden, um benutzerdefinierte Seiten basierend auf den Inhalt der URL zu erstellen.Erstellen einer System.Web.UI.Page programmatisch in IHTTPHandler
Verschiedene Artikel wie dieser: http://blogs.msdn.com/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx erklären, wie ASP.NET Routing verwendet wird, um zu vorhandenen Seiten auf dem Webserver zu verzweigen.
Was ich tun möchte, ist die Seite mit Code on-the-fly erstellen.
Mein erster Versuch sieht wie folgt aus:
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;
}
}
Aber das wirft eine Httpexception sagen „Antwort in diesem Zusammenhang nicht zur Verfügung steht.“ in der Response.Write-Anweisung.
Irgendwelche Ideen, wie Sie vorgehen?
UPDATE: Am Ende ging ich mit einem Ansatz basierend auf IHttpModule, die sich als ziemlich einfach erwies.
Ich wollte Ihnen nur danken, dass Sie 'BuildManager.CreateInstanceFromVirtualPath' hindeutet. Es half mir sehr bei etwas, an dem ich arbeitete. –
Seite p = (Page) BuildManager.CreateInstanceFromVirtualPath ("~/MyPage.aspx", typeof (Page)); –