2012-01-12 65 views
0

如何將response.redirect轉換爲正在創建的aspx頁面。例如:Response.Redirect - 如何將HTML代碼/ aspx代碼寫入response.redirect

Response.Redirect('<HTML><BODY>.....</BODY></HTML>");

我沒有任何地址可以重定向。我在處理了一些邏輯並且每次都不一樣時創建了aspx頁面。所以想要重定向到在飛行中創建的頁面而不保存在某個地方。

任何輸入?

+0

解釋一下更好,是硬盤上的本地html頁面嗎? – 2012-01-12 21:58:23

+0

不,這是在服務器端的ASPX頁面,它將創建另一個ASPX頁面來重定向某處。 – usergaro 2012-01-12 22:00:28

回答

1

你不能重定向到像這樣的動態內容。但也許你可以讓你的頁面通過AJAX加載內容。查看jQuery及其AJAX功能以動態地將內容加載到元素中。

0

你有沒有想過使用httpHandler這個?

在你的web.config,註冊的處理程序:

<system.web> 
<httpHandlers> 
    <add verb="*" path="PageBuilder.ashx" type="YourNamespace.ClassName, YourNamespace"/> 
</httpHandlers> 
... 

你可以把任何邏輯您目前爲建設ASPX在你的處理器:

//use the IRequiresSessionState if your handler requires access to the session 
public class PageBuilder : IHttpHandler, IRequiresSessionState 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
     //logic to build your page 
    } 
} 

只需指向您的重定向到PageBuilder .ashx並使用查詢字符串變量或與Session對象傳遞數據。

您可以瞭解更多關於處理程序在這裏: What is an HttpHandler in ASP.NET

+0

而我必須寫在Response.Redirect(「????」); – usergaro 2012-01-12 22:12:31

+0

你在你的問題中提到你正在'處理一些構建aspx的邏輯' - 所以這聽起來像是你在某種程度上基於某些數據動態地構建了一個aspx頁面......你需要做的是重定向到.ashx在構建.aspx之前,將需要的信息發送給處理程序,以便它可以創建動態頁面而不需要任何物理aspx文件。這有幫助嗎? – TimDog 2012-01-12 22:27:00

0

的Response.Redirect需要的任何HTML被髮射到瀏覽器之前被調用。

我想你想要做的是響應。根據處理過程中發生的情況寫出一些HTML。你確定你不需要物理頁面或頁面嗎?

+0

是的,我確定.. – usergaro 2012-01-12 22:18:49