一。①:首先要有这个文件URLRewriter.dll,如果没有,赶快到网上下载一个,并将其放到下面的bin目录里面,并且将其引用添加到下面里面;
②:下面就是Web.Config文件的配置了,当然,配置过程相当简单:
1、在Web.Config的<system.web>和</system.web>添加以下节点:
2、在Web.Config的<configuration>和</configuration>添加以下节点:
设置完以上两个步骤,就基本可以运行了,其中<RewriterRule/>标签里面就是重写的一个模块,<LookFor/>里面的是重写后的地址,而<SendTo/>则是原地址。
3、配置IIS解析.html文件
IIS配置:网站->属性->虚拟目录->配置(G)...->映射->通配符应用程序映射->添加
可执行文件:c:/windows/microsoft.net/framework/v2.0.50727/aspnet_isapi.dll
扩展名为:.html
确认文件是否存在:不选.
4、以上配置好之后就可以通过以下方式来访问了
例如用户输入 hostname/d11.html,服务器会把他重写为http://hostname/default.aspx?id=11。换句话说用户输入http://hostname/d11.html,实际访问的是http://hostname/default.aspx?id=11
二。
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; namespace Web.Admin { public partial class Admin_MakeIndex : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CommFun.IsAdmin(); if (!IsPostBack) { string url = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.LastIndexOf("/admin")); //获取网址 url += "/default.aspx"; //首页文件 string text; System.Net.WebRequest wReq = System.Net.WebRequest.Create(url); System.Net.WebResponse wResp = wReq.GetResponse(); //注意要先 using System.IO; System.IO.Stream respStream = wResp.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312")); text = reader.ReadToEnd(); string path = System.Web.HttpContext.Current.Server.MapPath("../default.html"); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(path, false, System.Text.Encoding.UTF8)) { if (text.Trim() != "") { sw.Write(text); Response.Write("首页生成成功!"); } } } } } }
三、同二类似只是把模板分成很多小的部分,生成时拼接小的模板,如头部、版权等等,这个方法可以参照211news新闻发布系统的做法。
四、利用js-ajax,例子如下:
<script>
var oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
oXmlHttp.open("GET","http://www.163.com", false);
oXmlHttp.send()
var oStream = new ActiveXObject("ADODB.Stream");
if(oStream == null)
alert("您的机器不支持ADODB.Stream.")
else
{
oStream.Type=1;
oStream.Mode=3;
oStream.Open() ;
oStream.Write(oXmlHttp.responseBody);
oStream.Position= 0;
oStream.Type= 2;
oStream.Charset="gb2312";
var result= oStream.ReadText();
oStream.Close();
oStream = null;
var aa = window.open("","")
document.write(result);
aa.document.write(result);
}
</script>