首页 新闻 会员 周边

.net webform URL路由

0
[已解决问题] 解决于 2014-10-16 16:50
using System;  
using System.Web.Routing;  
   
namespace WebApp  
{  
    public class Global : System.Web.HttpApplication  
    {  
        void RegisterRouters(RouteCollection routes)  
        {  
            //参数含义:  
            //第一个参数:路由名称--随便自己起  
            //第二个参数:路由规则  
            //第三个参数:该路由规则交给哪一个页面来处理  
            routes.MapPageRoute("my-route-name", "default/{id}", "~/default.aspx");  
            //...当然,您还可以添加更多路由规则  
        }  
   
        protected void Application_Start(object sender, EventArgs e)  
        {  
            RegisterRouters(RouteTable.Routes);  
        }         
    }  
}

这是在Global.ascx.cs中先注册路由规则
请问各路的大牛 项目中有很多aspx页面 每个页面的访问都需要注册路由规则吗?

D、boy的主页 D、boy | 菜鸟二级 | 园豆:201
提问于:2014-10-14 14:39
< >
分享
最佳答案
0

一般不需要吧,我们网站经常要添加些个性的专题,结合你的问题,我是采用这个的形式解决webform,和mvc混和使用的。不需要改代码。配置文件后台直接可以更改。很方便

 protected void Application_Start(object sender, EventArgs e)  
        {  
            this.RegisterIgnoreRoutes(RouteTable.Routes);//添加    

            RegisterRouters(RouteTable.Routes);  
        }           

 

        public virtual void RegisterIgnoreRoutes(RouteCollection routes)
        {
            RouteTable.Routes.RouteExistingFiles = false;
            routes.IgnoreRoute("News/{resource}.aspx/{*pathInfo}");
        }

 

然后 web.config

 <configSections>   
    <section name="rewriter" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
  </configSections>
  <rewriter configSource="UrlRewriter.config"/>

UrlRewriter.config


<?
xml version="1.0" encoding="utf-8"?> <rewriter> <rewrite Fixed="True" url="^/a/a(.*)/(.*)$" to="~/pay/sendpayment.aspx?OrderIds=$1&amp;Area=$2" processing="stop"/> </rewriter>
奖励园豆:5
amityat | 菜鸟二级 |园豆:476 | 2014-10-14 15:03

非常感谢你,能解释一下UrlRewriter.config中是什么意思吗?

D、boy | 园豆:201 (菜鸟二级) | 2014-10-14 15:15

@D、boy: url伪静态,或者叫地址重写

amityat | 园豆:476 (菜鸟二级) | 2014-10-14 15:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册