1.添加Global.asax<br />
2.注册重写方法
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//注册url重写
RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}
3.注册用的方法
/// <summary>
/// URL重写注册类
/// </summary>
/// <param name="routes"></param>
public void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute(
//路由名称,取一个和当前路由设置相匹配的名称即可。
"productdetail",
//URL的重写规则。
//category 为 Request["category"]
//name 为在目标页面中的 Request["name"]
"products/{category}/{name}.html",
//配置对应的物理文件。
"~/45newpart/UrlReWriteURL重写.aspx", false,
//配置默认值
new System.Web.Routing.RouteValueDictionary { { "category", "book" }, { "name", "aspnet" } }
,
//参数的规则
new System.Web.Routing.RouteValueDictionary() {
{ "name", @"\d{1,}" }
}
);
routes.MapPageRoute(
//路由名称,取一个和当前路由设置相匹配的名称即可。
"xiaohe",
//URL的重写规则。
//category 为 Request["category"]
//name 为在目标页面中的 Request["name"]
"Books/{category}/{name}.html",
//配置对应的物理文件。
"~/45newpart/UrlReWriteURL重写.aspx", false,
//配置默认值
new System.Web.Routing.RouteValueDictionary { { "category", "book" }, { "name", "aspnet" } }
,
//参数的规则
new System.Web.Routing.RouteValueDictionary() {
{ "name", @"[\w\W]{1,}" }
}
);
}
4.页面使用
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UrlReWriteURL重写.aspx.cs" Inherits="_45newpart_UrlReWriteURL重写" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>URL重写分页</title>
<link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label runat="server" Text=" <%$RouteValue:name %>">" >
</asp:Label>
狼来了的故事告诉我们,被人骗了两次后,第三次一定要相信他
1.添加Global.asax<br />
2.在
<pre class="csharp" name="code">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//注册url重写
RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}
</pre>
中加入 RegisterRoutes(System.Web.Routing.RouteTable.Routes);
<br />
3. 编写URL重写类<br />
<pre>
/// <summary>
/// URL重写注册类
/// </summary>
/// <param name="routes"></<param>
public void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute(
//路由名称,取一个和当前路由设置相匹配的名称即可。
"productdetail",
//URL的重写规则。
//category 为 Request["category"]
//name 为在目标页面中的 Request["name"]
"products/{category}/{name}",
//配置对应的物理文件。
"~/xzz.aspx", false,
//配置默认值
new System.Web.Routing.RouteValueDictionary { { "category", "book" }, { "name", "aspnet" } });
}
</pre>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _45newpart_UrlReWriteURL重写 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string 获取参数 = RouteData.Values["category"].ToString();
string 获取参数2 = RouteData.Values["name"].ToString();
Response.Write(获取参数+"/"+获取参数2);
}
}