ASP.NET页面静态化之URL重写 (转)
有关于URL的重写,本文也只是拿来主意。相继有MS的组件“URLRewriter”和在Global.asax里的“Application_BeginRequest()”编码方式,以及IIS里的ISAPI设置。
娜列下来,实现方法也都很简单。
方法一:MS组件
这里也不用详解了,相关请看:
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx
用法很简单,只需要把组件URLRewriter.dll拷到应用程序的bin目录下,然后在web.config下加入如下代码:
在<configuration></configuration>中加入:
<configSections>
<sectionname="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/("d{4})/("d{2})/Default".aspx</LookFor>
<SendTo>~/Default.aspx?ID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
然后在<system.web></system.web>中加入:
<httpHandlers>
<addverb="*"path="*.aspx"
type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>
最后在地址栏上键入:http://localhost/Test/2004/12/News.aspx
效果出来了。
上面的<LookFor>~/("d{4})/("d{2})/News".aspx</LookFor>这句这正则表达式URL,即被重写的URL,而<SendTo>~/Default.aspx?ID=$1</SendTo>这一句
相关文档:
★1. 使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private vo ......
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 不支持 URI 格式。
源错误:
行 30: protected void BTNCLick(object sender, EventArgs e)
行 31: {
行 32: System.IO. ......
asp.net 实现定时执行 一个方法
public class Time_Task
{
public event System.Timers.ElapsedEventHandler ExecuteTask;
private static readonly Time_Task _task = null;
private System.Timers.Timer _timer = null;
privat ......
41.构造器constructor是否可被override?
答:构造器constructor不能被继承,因此不能重写overriding,但可以被重载overloading。
42.是否可以继承string类?
答:string类是final类故不可以继承。 &n ......
61.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
int[] intarr=new int[100];
arraylist mylist=new arraylist();
random rnd=new random();
while(mylist.count<100)&nb ......