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>
复制代码

 

本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2013/02/16/2878610.html,如需转载请自行联系原作者


相关文章
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
599 0
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
228 0
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
347 0
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
259 5
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
484 7
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
381 1
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
309 1
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
411 0
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
381 0
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
406 0

热门文章

最新文章