首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Dotnet频道
中国IT教育
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 文章正文

利用UrlRewrite,asp.net动态生成htm页面

文章来源中国IT实验室收集整理 作者佚名 更新时间2008-1-31 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

     前段时间做项目,一直都在寻找一种动态生成htm页面的方法,要求配置简单,和项目无关。
  功夫不负有心人,终于被我找到了,只需要在web.config中进行简单配置,就可以达到动态生成静态页面的效果,同时又不影响Url重定向。web.config中需要注意的配置节为<configuration>、<RewriteConfig>、<httpModules>、<httpHandlers>,在这些配置节里边都有注释,容易看懂。
  <?xml version="1.0" encoding="utf-8"?>
  <!--
   注意: 除了手动编辑此文件以外,您还可以使用
   Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
   “网站”->“Asp.Net 配置”选项。
   设置和注释的完整列表在
   machine.config.comments 中,该文件通常位于
   \Windows\Microsoft.Net\Framework\v2.x\Config 中
  -->
  <configuration>
  
   <!-- RUL重写开始 -->
   <configSections>
   <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
   </configSections>
   <RewriterConfig>
   <Rules>
   <!--地址重写规则-->
   <!--首页,定位到静态页面-->
   <RewriterRule>
   <Type>Static</Type>
   <LookFor>~/Default\.aspx</LookFor>
   <SendTo>~/Default.htm</SendTo>
   </RewriterRule>
   <!--二级页面,定位到动态页面-->
   <RewriterRule>
   <Type>Dynamic</Type>
   <LookFor>~/List\.aspx</LookFor>
   <SendTo>~/Show.aspx</SendTo>
   </RewriterRule>
   </Rules>
   </RewriterConfig>
   <!-- RUL重写结束 -->
  
   <appSettings/>
   <connectionStrings/>
   <system.web>
   <!--
   设置 compilation debug="true" 将调试符号插入
   已编译的页面中。但由于这会
   影响性能,因此只在开发过程中将此值
   设置为 true。
   -->
   <httpModules>
   <!--URL重写-->
   <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
   </httpModules>
  
   <httpHandlers>
   <!--生成静态页面-->
   <add verb="*" path="*.aspx" validate="false" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
   </httpHandlers>
  
   <compilation debug="false" />
   <!--
   通过 <authentication> 节可以配置 ASP.NET 使用的
   安全身份验证模式,
   以标识传入的用户。
   -->
   <authentication mode="Forms" />
   <!--
   如果在执行请求的过程中出现未处理的错误,
   则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
   开发人员通过该节可以配置
   要显示的 html 错误页
   以代替错误堆栈跟踪。
  
   <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
   <error statusCode="403" redirect="NoAccess.htm" />
   <error statusCode="404" redirect="FileNotFound.htm" />
   </customErrors>
   -->
   <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
   </system.web>
  </configuration>
  两个关键的类是ModuleRewriter和RewriterFactoryHandler
  ModuleRewriter类用于Url重定向,代码如下:
  ModuleRewriter
  using System;
  using System.Text.RegularExpressions;
  using System.Configuration;
  using URLRewriter.Config;
  using System.Data;
  using System.Web;
  using System.Web.UI; 
   

[1] [2] 下一页  

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点
 Dotnet频道相关导航