asp.net url重写浅谈_asp.net教程-查字典教程网
asp.net url重写浅谈
asp.net url重写浅谈
发布时间:2016-12-29 来源:查字典编辑
摘要:ActionlessForm.dll------用来处理回发URLRewriter.dll-----是微软封装好了的一个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)">返回上一页</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:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll ---这是上面的路径

浏览Default.aspx页

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

写得有点乱。

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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类