模块初始化接口实现伪静态方法:
首先需要在网站下面添加App_code文件夹。在它下面添加新项—类,命名为HttpModule.cs
之后再web.config中间的<httpModules></httpModules>中添加<add name="HttpModule" type="HttpModule"/>其中name为网站下面添加App_code文件夹下的类名称。type为:HttpModule.cs中的public class HttpModule{}
的类名。如果它有命名空间则需要加上命名空间.类名。
之后需要让类名实现IHttpModule接口。通过接口的实现会生成两个方法。public void Dispose()
{
throw new NotImplementedException();
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);//这个事件的按tab会生成它对应的方法
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication http = sender as HttpApplication; //得整个应用程序对象
HttpContext context = http.Context; //得到当前HTTP信息对象
string url = context.Request.RawUrl; //得到当前的请求内容
int l = url.LastIndexOf('/') + 1;
url = url.Substring(l);
// Default_1.aspx
Regex reg = new Regex(@"Default_(\d+).aspx"); //正则对象
Match match = reg.Match(url); //匹配项
if (reg.IsMatch(url)) //验证是否正确
{
string id = match.Groups[1].Value;
context.RewritePath("Default.aspx?id=" + id); //将URL重写向到指定位置
}
}
注意对于 Regex reg = new Regex(@"Default_(\d+).aspx"); //正则对象中的正则对象我们可以进行更改。比如变成。html或者.do的形式。
在网页中添加加入收藏可以使用一下的代码:
<a href="#" class="green12gray" onclick="window.external.AddFavorite(document.URL,document.title);">
加入收藏</a>
设置为首页:
<a href="#" class="green12gray" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage(document.URL);">
设为首页</a>