Global.asax的Application_BeginRequest实现url重写无后缀的代码

日期:04-01  浏览:

利用Global.asax的Application_BeginRequest 实现url 重写 无后缀
复制代码 代码如下:

<%@ Application Language="C#" %>

<script RunAt="server">
void Application_BeginRequest(object sender, EventArgs e)
{
string oldUrl = System.Web.HttpContext.Current.Request.RawUrl; //获取初始url

//~/123.aspx → ~/Index.aspx?id=123
Regex reg = new Regex(@"^\/\d+\.html");
if (reg.IsMatch(oldUrl))
{
string id = reg.Match(oldUrl).ToString().Substring(1, reg.Match(oldUrl).ToString().LastIndexOf(".") - 1);
Context.RewritePath("~/Index.aspx?id=" + id);
}

//~/123 → ~/Index.aspx?id=123
Regex reg1 = new Regex(@"^\/\d+$");
if (reg1.IsMatch(oldUrl))
{
string id = reg1.Match(oldUrl).ToString().Substring(1);
Context.RewritePath("~/Index.aspx?id=" + id);
}

//~/index/123 → ~/Index.aspx?id=123
Regex reg3 = new Regex(@"^\/index\/\d+$");
if (reg3.IsMatch(oldUrl))
{
string id = reg3.Match(oldUrl).ToString().Substring(7);
Context.RewritePath("~/Index.aspx?id=" + id);
}
}

</script>

上一篇:解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法
下一篇:ASP.NET编程时遇到GridView的一个问题 激发了未处理的事件"PageIndexChanging"

网友评论


点击图片更换


查看更多评论
 

推荐文章

·ASP.NET编程中的十大技巧
·DotNet OnPreRender(EventArgs e) 事件常用的方法
·Asp.net简单代码设置GridView自适应列宽不变形实现思路与代码
·asp.net弹出窗口 返回值
·Asp.Net2.0权限树中Checkbox的操作
·asp.net 中国身份证号码验证代码 非正则
·AspNetPager分页控件源代码(Version 4.2)第1/2页
·asp.net richTextBox中高亮显示选中字符串或文本