zoukankan      html  css  js  c++  java
  • ASP.NET:使用HttpModule(给页面添加页头和页尾,重写URL)

    ylbtech-asp.net:内容简介
    技术与环境
    操作系统: windows 语言类别: C#
    thankyou: sunshine, 谢谢你的默默付出 课题: HttpModule
    学习软件: Microsoft Visaul Studio 2010
    1.1.1,Init方法注册事件 返回顶部

     

    1.1.2,使用HttpModule(给页面添加页头和页尾) 返回顶部

     /App_Code/SimpleModule.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    
        //<system.web>
        //    <httpModules>
        //        <add name="Text" type="SimpleModule"/>
        //  <!--<add name="UrlRewriter" type="UrlRewriter"/>-->
        //    </httpModules>
        
        //</system.web>
    /// <summary>
    ///SimpeModule 的摘要说明
    /// </summary>
    public class SimpleModule:IHttpModule
    {
        public SimpleModule()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }
    
        #region IHttpModule 成员
        public void Dispose()
        {
        }
        public void Init(HttpApplication context)
        { 
            context.BeginRequest +=new EventHandler(context_BeginRequest);
            context.EndRequest +=new EventHandler(context_EndRequest);
        }
        void context_EndRequest(object sender, EventArgs e)
        {
            ((HttpApplication)sender).Response.Output.Write("<hr>页尾");
        }
        void context_BeginRequest(object sender, EventArgs e)
        {
            ((HttpApplication)sender).Response.Output.Write("页头<hr>");
        }
        #endregion
    
    }
    1.1.3,URL重写 返回顶部

     App_Code/UrlWrite.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    ///UrlRewriter 的摘要说明
    /// </summary>
    public class UrlRewriter:IHttpModule
    {
        public UrlRewriter()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }
    
        #region IHttpModule 成员
        public void Dispose()
        {
        }
    
        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest); ;
        }
        void context_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = ((HttpApplication)sender).Context;
            string requestPath = context.Request.Path.ToLower();
            //判断请求路径是否为鲜花页面
            if (requestPath.Contains("/webhttpmodule/flower/"))
            { 
                //找到路径中最后一个"/"的位置
                int start = requestPath.LastIndexOf("/");
                //找到最后一个"."的位置
                int end = requestPath.LastIndexOf(".");
                string id = requestPath.Substring(start + 1, (end - start));
                context.RewritePath("~/flower/flower.aspx?id=" + id);
            }
        }
        #endregion
    }

    web.config

    <?xml version="1.0"?>
    <!--
      有关如何配置 ASP.NET 应用程序的详细信息,请访问
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
        <system.web>
            <httpModules>
                <add name="Text" type="SimpleModule"/>
          <!--<add name="UrlRewriter" type="UrlRewriter"/>-->
            </httpModules>
            <compilation debug="true" targetFramework="4.0"/>
        
        </system.web>
    </configuration>
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    十步完全理解 SQL
    Oracle VM Virtual
    Pycharm 使用
    Open Yale course:Listening to Music
    SQL 必知必会
    安装 SQL server 2008 R2
    Ubuntu安装mysql之后,编译找不到头文件
    core dump文件的生成
    Linux静态库与动态库制作过程
    GEC6818连接Ubuntu,下载程序至开发板
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2878610.html
Copyright © 2011-2022 走看看