asp.net url重写浅谈_实用技巧

ActionlessForm.dll------用来处理回发
URLRewriter.dll----- 是微软封装好了的一个URL重写组件
添加引用----
具体的使用说明请去看
http://msdn.microsoft.com/zh-cn/library/ms972974.aspx#XSLTsection123121120120
比我说得好得多。。
具体使用方法:
首先web.config的配置:

复制代码 代码如下:

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,
URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/ListCategories\.aspx</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/(\d+)\.html</LookFor>
<SendTo>~/Cover.aspx?id=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
<compilation debug="true"/>
</system.web>
</configuration>

主要配置的代码是这些。其他的根据自己的需要和.net的版本自行添加。
然后Default.aspx,Cover.aspx,新建2个页面
Default.aspx:

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="ListCategories.aspx">ListCategories.aspx</a>
<a href="30.html">30.html</a>
</div>
</form>
</body>
</html>

Cover.aspx:

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cover.aspx.cs" Inherits="Cover" %>
<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Cover</title>
</head>
<body>
<skm:form id="form1" runat="server">
<div>
Cover页面
<h4><a href="javascript:void(0)" onclick="history.go(-1)">返回上一页</a></h4>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</skm:form>
</body>
</html>

Cover.aspx.cs:

复制代码 代码如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class Cover : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["id"] == null)
{
Response.End();
}
else
{
int id = Convert.ToInt32(Request.QueryString["id"]);
Response.Write(id);
}
}
}

还要去对iis设置:

这样的话伪静态就可以用了
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ---这是上面的路径

浏览Default.aspx页

ListCategories.aspx --页面其实在服务器上面是没有的。它里面的内容是Default.aspx的内容,因为配置文件里面设置了

写得有点乱。

本例子是和微软的重写url基本一样的。算是简单化了一点点呵呵。

时间: 2024-09-09 08:14:23

asp.net url重写浅谈_实用技巧的相关文章

ASP.NET学习路线图浅谈_实用技巧

如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习NETFramework.ASP.NET是建构在.NET Framework之上的技术,你对.NETFramework了解得越深,学习ASP

一个完整的ASP.NET 2.0 URL重写方案[翻译]_实用技巧

这篇文章描述了一个完整的 ASP.NET 2.0 URL 重写方案.这个方案使用正则表达式来定义重写规则并解决通过虚拟 URLs 访问页面产生回发事件的一些可能的困难. 为什么要重写 URL ? 将 URL 重写方法应用到你的 ASP.Net 应用程序的两个主要原因是:可用性和可维护性. 可用性 谁都知道,相对于难于辨认的带参数的长的查询路径,用户更喜欢一些短的.简洁的 URL.任何时候,一个容易记住和敲入的路径比添加到收藏夹更有用.其次,当一个浏览器的收藏夹不可用时,记住的地址总比在搜索引擎中

asp.net url分页类代码_实用技巧

复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; usi

asp.net URL编码与解码_实用技巧

例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文.否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成

C#数据绑定控件中的DataSource属性浅谈_实用技巧

有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的"温故而知新"的真正内涵.常用的C#数据绑定控件有:Repeater.DataList.GridView.DetailsView等,在这里我拿Repeater来简单说明问题.使用该属性指定用来填充Repeater控件的数据源.DataSource可以是任何System.Collections.IEnumerable对象,如用于访问数据库的Syste

asp.net url 伪静态设置方法_实用技巧

1.打开IIS管理,右击站点属性. 2.切换到"主目录",点"配置"按纽. 3.打开应用程序配置,点"添加"按纽. 4.在可执行文件处输入ASP.NET2.0的影射文件,可复制.ASPX的影射:如:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 在扩展名处输入:.htm 动作限制为:GET,HEAD,POST,DEBUG 取消"检查文件是否存在"选项

Win 2000下ASP.NET开发环境的配置_实用技巧

Win 2000下ASP.NET的配置 Win 2000(包括Professional,Server和Advanced Server)在默认情况下是不支持ASP.NET的.必须对它进行一个环境的配置. 客户端 SQL Server .NET 数据提供程序 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本 对系统管理信息的访问 Windows Management Instrumentation (WMI)(在 Windows 2000操作系统一起安装)COM+ 服务 Windo

asp.net 生成静态页笔记_实用技巧

1.使用serever.Excute 复制代码 代码如下: StreamWriter sw = new StreamWriter(Server.MapPath("html/Login.html"), false); Server.Execute("ShowColumn.aspx?id=1&page=2", sw); sw.Close(); 2.替换字符 url重写 1.定义重写规则 urls.xml 变成urls.config 复制代码 代码如下: <

关于asp.net 自定义分页控件_实用技巧

这几天空学习了下自定义控件,参考了aspnetpager开发了自己的分页控件.相对aspnetpager来说功能是多,但个人感觉他的代码太多. 界面: 使用: <%@ Register assembly="YSM.AspNetPager" namespace="YSM.AspNetPager" tagprefix="cc1" %> 页面注册控件,也可以在web.config中配置 1.ajax之UpdatePanel分页则把控件放到U