关于动态页面静态化的问题 就是有页面中含有gridview等数据控件 绑定了显示的数据如何将这个页面静态化啊??显然,模板法 然后替换模板中的特定内容是行不通!请问各位高手还有其他的好方法吗我分数少请见谅 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.devedu.com/Doc/DotNet/AspNet/Url地址重写-利用HttpHander手工编译页面并按需生成静态HTML文件.aspxhttp://www.devedu.com/Doc/DotNet/AspNet/Url地址重写-利用HttpHander手工编译页面并按需生成静态HTML文件.aspx 创建一个WEB请求 发送到被请求页(即你的那个含GridView的动态页)处理 读取动态页数据流并根据数据流生成文件并保存示例代码如下:using System;using System.Net;using System.IO;using System.Text;using System.Text.RegularExpressions;namespace Polytele.Web{ public class HttpRequestData { /// <summary> /// 将请求页面生成为字符串 /// </summary> /// <param name="requestUriString">请求网址</param> /// <returns>string 请求页面的字符串变量</returns> public static string ToString(string requestUriString) { HttpWebResponse response = GetHttpWebResponse(requestUriString); if (response != null) { Encoding encoding = GetEncoding(response.CharacterSet); using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding)) { return sr.ReadToEnd(); } } return ""; } /// <summary> /// 将请求页面生成为静态页面 /// </summary> /// <param name="requestUriString">请求网址</param> /// <param name="savePath">保存位置</param> /// <returns>bool 操作结果</returns> public static bool SaveToFile(string requestUriString, string savePath) { HttpWebResponse response = GetHttpWebResponse(requestUriString); if (response != null) { Encoding encoding = GetEncoding(response.CharacterSet); string content = ""; using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding)) { content = sr.ReadToEnd(); } using (StreamWriter sw = new StreamWriter(savePath, false, encoding)) { sw.Write(content); sw.Flush(); return true; } } return false; } private static HttpWebResponse GetHttpWebResponse(string requestUriString) { Regex regex = new Regex(@"^http://\s*", RegexOptions.IgnoreCase); if (regex.IsMatch(requestUriString)) { try { HttpWebResponse response = (HttpWebResponse)HttpWebRequest.Create(requestUriString).GetResponse(); return response; } catch (Exception){ } } return null; } private static Encoding GetEncoding(string characterSet) { string charset = characterSet; if (charset == "ISO-8859-1") { charset = "gb2312"; } return Encoding.GetEncoding(charset); } }} 三层架构代码:注册为 allowDefinition='MachineToApplication' 的节是错误的-- 如何把组件添加到VS2005信任区域 e.NewPageIndex; 分页 DataGrid分页问题 有什么比较好的.NET开源论坛基于ACCESS数据库的? 在北京混,感觉高学历的人太多了,想读个在职研究生,不知道和正式研究生有什么区别? 简单的数据库连接字符串问题 ,很急:( TreeView控件的使用问题(在线等... 棘手问题,有关自定义控件的重新Load 关于Parameters的问题? 放几个JS小东西大伙玩玩 一个基于udp的聊天页面求修正
示例代码如下:using System;
using System.Net;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;namespace Polytele.Web
{
public class HttpRequestData
{
/// <summary>
/// 将请求页面生成为字符串
/// </summary>
/// <param name="requestUriString">请求网址</param>
/// <returns>string 请求页面的字符串变量</returns>
public static string ToString(string requestUriString)
{
HttpWebResponse response = GetHttpWebResponse(requestUriString);
if (response != null)
{
Encoding encoding = GetEncoding(response.CharacterSet);
using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding))
{
return sr.ReadToEnd();
}
}
return "";
} /// <summary>
/// 将请求页面生成为静态页面
/// </summary>
/// <param name="requestUriString">请求网址</param>
/// <param name="savePath">保存位置</param>
/// <returns>bool 操作结果</returns>
public static bool SaveToFile(string requestUriString, string savePath)
{
HttpWebResponse response = GetHttpWebResponse(requestUriString);
if (response != null)
{
Encoding encoding = GetEncoding(response.CharacterSet);
string content = "";
using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding))
{
content = sr.ReadToEnd();
}
using (StreamWriter sw = new StreamWriter(savePath, false, encoding))
{
sw.Write(content);
sw.Flush();
return true;
}
}
return false;
} private static HttpWebResponse GetHttpWebResponse(string requestUriString)
{
Regex regex = new Regex(@"^http://\s*", RegexOptions.IgnoreCase);
if (regex.IsMatch(requestUriString))
{
try
{
HttpWebResponse response = (HttpWebResponse)HttpWebRequest.Create(requestUriString).GetResponse();
return response;
}
catch (Exception){ }
}
return null;
} private static Encoding GetEncoding(string characterSet)
{
string charset = characterSet;
if (charset == "ISO-8859-1")
{
charset = "gb2312";
}
return Encoding.GetEncoding(charset);
}
}
}