我动态生成存储在字符串变量中的HTML。
我想打开一个新窗口,其中包含从此HTML创建的新页面。
这看起来太简单了,但我找不到解决方案。
我正在使用ASP.NET 3.5和VS2008。
谢谢,
保罗。ASP.NET动态创建页面
回答
最好的想法是创建一个HTTP处理程序,在你的web.config文件来处理,你需要有动态内容的各种请求的路径进行注册,然后检测基于HttpContext.Current显示的内容。 Request的。
这样,您就没有保存任何文件,并从您的字符串变量写入到输出流
您可以在新页面试试这个:
保护小组的Page_Load(BYVAL发件人为对象,BYVALË作为System.EventArgs)把手Me.Load
HttpContext.Current.Response.Clear() HttpContext.Current.Response.ClearHeaders() HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType =“text/html的 HttpContext.Current.Response.Write(YourString) HttpContext.Current.Response.Flush() HttpContext.Current.Response.End()
完Sub
尽管正确。能够将动态内容推送到独立位置会更好。 – LorenVS 2009-08-26 12:49:54
创建一个带有查询字符串的.ashx页面,例如pageid = 12345
这个页面的目的很简单,就是根据pageid查询字符串查找一个会话id。例如
var page = Session["PAGE_" + QueryString["pageid"]].ToString();
Response.Write(page);
在,在一个可变生成HTML页面,在会话的变量存储在Page_Init
`[ “PAGE_12345”] = generatedHtml;
然后在Page_Load上生成一个javascript,打开url pagebuilder.ashx?pageid = 12345。
就是这样。您将能够在另一个窗口中打开您新生成的html。
- 1. 在asp.net中创建动态HTML页面
- 2. 用c#页面动态创建asp.net
- 3. 动态创建ASP.NET内容页面
- 4. 在asp.net中创建动态页面mvc
- 5. 动态页面创建.aspx
- 6. 动态创建静态页面的动态页面
- 7. Asp.Net从动态页面创建静态HTML文件
- 8. 创建个别页面或动态创建页面?
- 9. ASP.NET动态页面
- 10. 动态创建ASP.net使用面板
- 11. 动态创建一个asp.net页面的最佳方法
- 12. 动态创建ASP.net页面搜索引擎友好
- 13. Drupal,搜索动态创建的页面
- 14. 动态创建成员页面
- 15. 在jsp页面中创建动态行
- 16. Silverlight:如何动态创建页面
- 17. 创建一个动态页面
- 18. Changepage到页面是动态创建
- 19. 导航动态创建页面
- 20. 从Javascript动态创建HTML页面
- 21. 创建Html.ActionLink到动态内容页面
- 22. 创建页面的动态内容qTip
- 23. 如何动态创建html页面?
- 24. 创建asp.net页面MVC
- 25. ASP.NET动态页面生成
- 26. ASP.NET IIS7动态404页面
- 27. ASP.NET和动态页面
- 28. 动态编译ASP.NET页面?
- 29. ASP.NET:动态创建控件
- 30. 创建asp.net动态子域
请您详细说明这个想法...似乎无法通过头部得到它。 – ThatBloke 2009-08-26 13:42:31
您可以创建一个实现System.Web.Handlers.IHttpHandler(或System.Web.Handlers.IHttpAsyncHandler,如果您想创建异步处理程序)的类。你实现了ProcessRequest(或异步情况下的BeginProcessRequest和EndProcessRequest),HttpContext通过参数传递给你。 使用QueryString/Form或其他任何你有的输入,决定你必须发回哪一段生成的HTML。生成HTML,然后使用回复于(STR),该溶液基本上使用相同的页,并且在同一网址,以产生两个完全不同的内容(主输出或字符串变量的输出)写入它 – LorenVS 2009-08-26 16:18:56