url转发的几个代码!

1 javascript

  

 

 

2 更简单的框架结构 在一个框架中设置要转发的url

 
 
 
 
 
 
 
 
 
 

3 c#的url重写实现

 

 

利用IHttpModule实现URL地址转发功能 
using System;
using System.Web;
using System.Text.RegularExpressions;

namespace WebControlLibrary1
{
    /**//// 
    /// BaseModuleRewriter 的摘要说明。
    /// 
    public abstract class BaseModuleRewriter:IHttpModule
    {
        public BaseModuleRewriter()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        IHttpModule 成员#region IHttpModule 成员

        public virtual void Init(HttpApplication app)
        {
            app.AuthorizeRequest += new EventHandler(app_AuthorizeRequest);
        }

        public virtual void Dispose()
        {
            // TODO:  添加 BaseModuleRewriter.Dispose 实现
        }

        #endregion

        protected virtual void app_AuthorizeRequest(object sender, EventArgs e)
        {
            HttpApplication app = (HttpApplication)sender;
            this.Rewrite(app.Request.Path,app);
        }

        protected abstract void Rewrite(string requestedPath, HttpApplication app);

    }

    public class ModulRewriter:BaseModuleRewriter
    {
        protected override void Rewrite(string requestedPath, HttpApplication app)
        {
            string strPath = requestedPath;
            string strFileName = strPath.Substring(strPath.LastIndexOf("/")+1);
            string strReg = @"^/d+";
            Regex reg = new Regex(strReg,RegexOptions.IgnoreCase);
            if(reg.IsMatch(strFileName))
            {
                
                string strTruePath = strPath.Remove(strPath.LastIndexOf("/")+1,strFileName.Length);
                strTruePath = strTruePath+"go.aspx?id=" + reg.Match(strFileName).Value;
                HttpContext.Current.RewritePath(strTruePath);
                //app.Server.Execute(strTruePath);
            }
            else
            {
                //app.Server.Execute(strPath);
                HttpContext.Current.RewritePath(strPath);
            }
        }

    }
}


 
  
 



 

你可能感兴趣的:(url转发的几个代码!)