zoukankan      html  css  js  c++  java
  • MVC模式下网站路由配置

    原来asp.net的中的请求是基于物理文件(.aspx)的,所以一个基本的请求对应于应用程序中的某个具体文件。

    所以,在asp.net中,对用户请求没有特别的管理需求,你只要管理好应用程序的物理文件就可以了。 

    到MVC中,这一切发生的根本的改变。用户请求跟物理文件没有一点瓜葛,也是因为有了这样的特性,你可以随意组织

    用户请求的url。无序的路由设置,会导致你的程序混乱不堪。 因而在MVC中,对URL的管理就有必要了。

    以下是个人总结的一些方法。

    1、要有层次结构。 

     以建个企业网站来说,一般分成前台和后台。所谓前台就是用于匿名用户或注册用户使用的界面,后就是指网站管理员进行网站数据

    操作的界面。 一般情况下,我们访问前台是以http://www.site.com/XXXX的形式。后台http://www.site.com/admin/XXXX的形式。

    XXXX表示具体访问的内容。

    前台设置具体如下: 

    首页: http://www.site.com/ 或http://www.site.com/index

    公司简介:http://www.site.com/about

    公司资讯:http://www.site.com/news 

    产品介绍:http://www.site.com/product

    联系我们:http://www.site.com/contat

    ......

    后台

    登录:http://www.site.com/admin/login

    产品维护:http://www.site.com/admin/product

    资讯管理:http://www.site.com/admin/news 

    2、合理对应url和controller

    MVC的控制器定位是基于控制器名称的,所以要做到Controller的名称和action不要和前边定义的访问路径冲突。

     我们还是网站为例,由于结构上就分为前台和后台,我们把控制器也定义为前后台。前台用home,后台用manage。

    Home的action有: Index,News,Product,ShowNews,ShowProduct(),About,Contract等。

    Manage的action有:Login,Product,ProductDetail,AddProduct等。

    3、Routetable

    前台 

     routes.MapRoute(

                    "Home", // Route name

                    "{action}/{Id}", // 将根站点的访问默认交给Home

                    new { controller = "Home", action = "Index" , id = UrlParameter.Optional} // 相当于设置默认页。

                );

    后台 

     routes.MapRoute(

                    "Admin", // Route name

                    "Admin/{action}/{Id}", // 将admin的处理默认交给Manager

                    new { controller = "Manage", action = "Index" , id = UrlParameter.Optional} // 相当于设置默认页。

                ); 

  • 相关阅读:
    TreeView checkbox
    学习wcf
    Python导入其他目录的模板
    xcode中如何设置编译后的app路径
    python中package机制的两种实现方式
    Page Object封装思想
    mac xcworkspace xcodebuild
    mac软件管理软件HomeBrew
    app被Rejected 的各种原因翻译
    scan-build static analyze help
  • 原文地址:https://www.cnblogs.com/icoolno1/p/1867914.html
Copyright © 2011-2022 走看看