.net Framework 4.0 url重写

  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>


5.页面后台代码

 

 

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);
    }
}


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值