C# 通过streamreader保存html内容?
有没有办法将aspx页面的html内容保存在cs文件的pageload部分,并在回发时再次加载 也许使用streamreader保存它,然后让streamreader将内容写回C# 通过streamreader保存html内容?,c#,asp.net,html,C#,Asp.net,Html,有没有办法将aspx页面的html内容保存在cs文件的pageload部分,并在回发时再次加载 也许使用streamreader保存它,然后让streamreader将内容写回 如果有的话,有人举过例子吗?ASP.NET有一个广泛的缓存机制,它可以实现您所描述的功能ASP.NET有一个广泛的缓存机制,它可以实现您所描述的功能。我使用了页面的Render()方法,而不是RenderContents方法。但是,我一辈子都记不起我为什么这么做了。在ASP.net版本引入缓存页面大部分内容(小部分除外)
如果有的话,有人举过例子吗?ASP.NET有一个广泛的缓存机制,它可以实现您所描述的功能ASP.NET有一个广泛的缓存机制,它可以实现您所描述的功能。我使用了页面的Render()方法,而不是RenderContents方法。但是,我一辈子都记不起我为什么这么做了。在ASP.net版本引入缓存页面大部分内容(小部分除外)的功能之前,可能已经出现过这种情况除非您真的需要这样做,否则请使用内置的缓存功能。可以按照这些方法进行操作。我使用了页面的Render()方法,而不是RenderContents方法。但是,我一辈子都记不起我为什么这么做了。在ASP.net版本引入缓存页面大部分内容(小部分除外)的功能之前,可能已经出现过这种情况除非您确实需要这样做,否则请使用内置的缓存功能。您的意思是这样的,通过覆盖
Render
方法捕获生成的HTML吗
protected override void Render(HtmlTextWriter writer)
{
string pageSource;
// setup a TextWriter to capture the markup
using (var sw = new StringWriter())
using (var htw = new HtmlTextWriter(sw))
{
// render the markup into our surrogate TextWriter
base.Render(htw);
// get the captured markup
pageSource = sw.ToString();
}
// render the markup into the output stream
writer.Write(pageSource);
// now you can do what you like with the captured markup in pageSource
}
您的意思是这样的,通过覆盖
Render
方法捕获生成的HTML吗
protected override void Render(HtmlTextWriter writer)
{
string pageSource;
// setup a TextWriter to capture the markup
using (var sw = new StringWriter())
using (var htw = new HtmlTextWriter(sw))
{
// render the markup into our surrogate TextWriter
base.Render(htw);
// get the captured markup
pageSource = sw.ToString();
}
// render the markup into the output stream
writer.Write(pageSource);
// now you can do what you like with the captured markup in pageSource
}
那么你是说如果没有就不可能了?我在哪里可以了解缓存?@Garrith Graham:阅读MSDN在线页面了解缓存。那么你是说如果没有就不可能了?我在哪里可以了解缓存?@Garrith Graham:阅读MSDN在线页面了解缓存。好吧,现在阅读缓存我想哇,为什么他们从来没有教过我们这些东西在学校!但是我如何在mysql中存储缓存页面?(这样内容就永远不会丢失)你真的那么在意内容永远不会丢失吗?你正在做一些超级日志类型的事情吗?我正在创建我自己的社交网络页面,如果一个用户登录后发现他没有挂帖(类似于facebook),那就不太好了。好吧,你不想将整个页面存储在数据库中。你想在数据库中存储个人帖子。好吧,现在读到缓存我想哇,为什么他们从来没有在学校教过我们这些东西!但是我如何在mysql中存储缓存页面?(这样内容就永远不会丢失)你真的那么在意内容永远不会丢失吗?你正在做一些超级日志类型的事情吗?我正在创建我自己的社交网络页面,如果一个用户登录后发现他没有挂帖(类似于facebook),那就不太好了。好吧,你不想将整个页面存储在数据库中。您想在数据库中存储单个帖子。@Garrith:它只是一个字符串。你需要将它保存在某个地方,以便以后能够再次使用它:在会话状态、应用程序状态、数据库中、光盘上,无论你喜欢什么。哦,对不起,这就是我的意思,如果我从mysql检索它,html内容如何重新显示到用户配置文件上?@Garrith Graham:你可以在文本控件中丢弃它,但是,如果你有任何活动内容(如asp.net控件等),那么在呈现页面时,这些内容将不起作用。它包含在内容页面中,而墙贴上唯一的控件是html控件(textarea和html按钮),是否仍然可以这样做?@Garrith:它只是一个字符串。你需要将它保存在某个地方,以便以后能够再次使用它:在会话状态、应用程序状态、数据库中、光盘上,无论你喜欢什么。哦,对不起,这就是我的意思,如果我从mysql检索它,html内容如何重新显示到用户配置文件上?@Garrith Graham:你可以在文本控件中丢弃它,但是,如果你有任何活动内容(如asp.net控件等),这些内容在呈现页面时将不起作用。它包含在内容页面中,而墙贴上唯一的控件是html控件(textarea和html按钮),是否仍然可以这样做?