zoukankan      html  css  js  c++  java
  • MVC Routing 奇怪现象

    今天搞了一下MVC,看到Routing的配置都是写在Global.asax文件里,心里想了想,如果很多的路径的话,那Global.asax文件不会是很大很大,所以就想想能不能把路径之类的写到一个配置文件里,每次只需要修改一下配置文件就可以了。按着这个思路去网上找了一下,果然找到了一个解决方案,是老外写的MvcXmlRouting,拿来用了一下,路由倒是配置到了RouteConfiguration.config文件里,具体做法如下:

    先在web.config文件里加上配置 

     <configSections>
        
    <section name="RouteConfiguration" type="MvcXmlRouting.MvcRouteConfigurationSection"/>   
      
    </configSections>
    <RouteConfiguration configSource="RouteConfiguration.config"/> 

    然后在Global.asax文件里用下面这个方法替换到原来的配置方法

    代码
     public static void RegisterRoutes(RouteCollection routes)
            {
                MvcRouteConfigurationSection section 
    =
                    (MvcRouteConfigurationSection)ConfigurationManager.GetSection(
    "RouteConfiguration");
                routes.MapRoute(section);
            }

    上面这些都弄完了之后,接下来就只用写RouteConfiguration.config文件了,里面大致如下写

    代码
    <RouteConfiguration>
    <ignore>
        
    <!--忽略对.axd文件的Route,直接处理-->
        
    <add url="{resource}.axd/{*pathInfo}" >
          
    <constraints>
            
    <add name="resource" value="\w+" />
          
    </constraints>
        
    </add>
      
    </ignore>

      
    <map>
        
    <!-- 使用频率越高的路由要放到越前面!!!性能-->
        
    <!-- 首页 -->
        
    <route name="Home" url="" controller="Home" action="Index" >      
        
    </route>

        
    <!-- 重置密码 -->
        
    <route name="RecoverPassword" url="RecoverPassword/{code}/{pageIndex}" controller="User" action="RecoverPassword" >
          
    <parameters>
           
    <!--参数配置 w是字符串,d是数字-->
            
    <add name="code" value="" constraint="\w+" />
            
    <add name="pageIndex" value="1" constraint="\d+" />
          
    </parameters>
        
    </route>
      
    </map>
    </RouteConfiguration>

    接下来就可以像正常那样输入地址访问了。

    不过我现在遇到了一个问题,就是在处理Ajax请求的时候,他往往报路劲不可访问的错误。在正常的配置路由时对于AJAX的请求路径是不需要配置的,按照老外的说明文档也是说不需要配置的,可是现在就是出现了路径不可访问的错误,找了老半天也没能找出原因来,不知道哪位同学能解决这个问题

    文章不才,发到首页,还请手下留情 

  • 相关阅读:
    我又来定计划了~2015-8至年底
    Spark官方文档中推荐的硬件配置
    java 多线程之:sleep() 方法
    Referrer Policy 介绍
    js 操作 cookie
    顶级域名和子级域名之间的cookie共享和相互修改、删除
    关于 Cookie-free Domains (为什么将静态图片,js,css存放到单独的域名?)
    cookie 知识点
    java 多线程之:yield() 方法
    java 多线程之:wait()、notify()、notifyAll()等方法
  • 原文地址:https://www.cnblogs.com/jiangguanghe/p/1824504.html
Copyright © 2011-2022 走看看