2009-11-13 145 views

回答

5

你可以做這樣的事情:

Type page_type = BuildManager.GetCompiledType ("~/page.aspx"); 
Page page = (Page) Activator.CreateInstance (page_type); 
page.ProcessRequest (Context); 
+0

完美!謝謝。 – 2009-11-14 06:51:21

3
public void ProcessRequest(HttpContext context) 
{ 
    using (var writer = new StringWriter()) 
    { 
     context.Server.Execute("default.aspx", writer); 
     context.Response.ContentType = "text/html"; 
     context.Response.Write(writer.GetStringBuilder().ToString()); 
    } 
} 
+0

+1這確實可以,但我寧願避免使用server.execute()。 – 2009-11-13 22:16:38

2

最好的辦法可能是使用URL重寫來重定向標準處理程序處理步驟要呈現的頁面。例如:

context.RewritePath("yourpage.aspx", false); 

您可以從BeginRequest事件處理程序運行該程序。