2012-01-12 61 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